home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Assassins - Ultimate CD Games Collection 4
/
Assassins 4 (1999)(Weird Science).iso
/
adventures_2
/
adventure2
/
adventure.z5
(
.txt
)
next >
Wrap
Z-code for Z-machine
|
1977-12-31
|
97KB
|
10,207 lines
Resident data ends at 599c, program starts at 599c, file ends at 17a70
Starting analysis pass at address 599a
End of analysis pass, low address = 599c, high address = 131c4
[Start of code]
Main routine R0001, 0 locals
CALL_VS R0002 -> Gef
QUIT
Routine R0002, 0 locals
CALL_1N R0053
RTRUE
Routine R0003, 4 locals
SPLIT_WINDOW #01
SET_WINDOW #01
SET_CURSOR #01,#01
SET_TEXT_STYLE REVERSE
LOADB #00,#21 -> L01
SUB L01,#1a -> L02
SUB L01,#0d -> L03
SUB L01,#01 -> -(SP)
PULL Gef
JL Gef,#00 [TRUE] L0002
L0001: PRINT_CHAR ' '
DEC Gef
JZ Gef [FALSE] L0001
L0002: SET_CURSOR #01,#02
CALL_2N R0079 (G00)
LOADB #00,#01 -> -(SP)
AND (SP)+,#02 -> -(SP)
JZ (SP)+ [FALSE] L0005
JG L01,#4c [FALSE] L0003
SET_CURSOR #01,L02
PRINT "Score: "
PRINT_NUM G01
SET_CURSOR #01,L03
PRINT "Moves: "
PRINT_NUM G02
L0003: JG L01,#3f [FALSE] L0004
JG L01,#4c [TRUE] L0004
SET_CURSOR #01,L03
PRINT_NUM G01
PRINT "/"
PRINT_NUM G02
L0004: JUMP L0010
L0005: SET_CURSOR #01,L02
PRINT "Time: "
MOD G01,#0c -> L00
JL L00,#0a [FALSE] L0006
PRINT " "
L0006: JZ L00 [FALSE] L0007
STORE L00,#0c
L0007: PRINT_NUM L00
PRINT ":"
JL G02,#0a [FALSE] L0008
PRINT "0"
L0008: PRINT_NUM G02
DIV G01,#0c -> -(SP)
JG (SP)+,#00 [FALSE] L0009
PRINT " pm"
JUMP L0010
L0009: PRINT " am"
L0010: SET_CURSOR #01,#01
SET_TEXT_STYLE ROMAN
SET_WINDOW #00
RTRUE
Routine R0004, 7 locals
CALL_1N R0050
L0001: STORE L03,#00
L0002: JL L03,#0a [FALSE] L0003
LOADB L01,L03 -> -(SP)
STOREB #361d,L03,(SP)+
INC L03
JUMP L0002
L0003: STOREB L00,#00,#78
STOREB L01,#00,#40
CALL_2N R0205 (#0107)
CALL_1N R0366
STORE Gef,#00
STORE Gec,L00
STOREB Gec,#01,#00
CALL_1N R0003
READ Gec,L01 -> Gef
LOADB L01,#01 -> L02
JZ L02 [FALSE] L0004
CALL_VN R0205 (#0106,#0a)
JUMP L0001
L0004: LOADW L01,#01 -> L04
JE L04,"o","oops" [FALSE] L0005
JUMP L0016
L0005: JE L04,"undo" [FALSE] L0012
LOADB #3421,#01 -> -(SP)
JE (SP)+,#01 [FALSE] L0012
JE G07,#01 [FALSE] L0006
CALL_VN R0205 (#0106,#0b)
JUMP L0001
L0006: JZ G2a [FALSE] L0007
CALL_VN R0205 (#0106,#06)
JUMP L0001
L0007: JE G2a,#01 [FALSE] L0008
JUMP L0010
L0008: JE G6a,#01 [FALSE] L0009
CALL_VN R0205 (#0106,#0c)
JUMP L0001
L0009: RESTORE_UNDO -> L03
JZ L03 [FALSE] L0011
L0010: CALL_VN R0205 (#0106,#07)
L0011: JUMP L0001
L0012: SAVE_UNDO -> L03
STORE G6a,#00
STORE G2a,#02
JE L03,#ffff [FALSE] L0013
STORE G2a,#00
L0013: JZ L03 [FALSE] L0014
STORE G2a,#01
L0014: JE L03,#02 [FALSE] L0015
SET_TEXT_STYLE BOLDFACE
CALL_2N R0079 (G00)
PRINT "
"
SET_TEXT_STYLE ROMAN
CALL_VN R0205 (#0106,#0d)
STORE G6a,#01
JUMP L0001
L0015: RET L02
L0016: JZ G3e [FALSE] L0017
CALL_VN R0205 (#0106,#0e)
JUMP L0001
L0017: JE L02,#01 [FALSE] L0018
CALL_VN R0205 (#0106,#0f)
JUMP L0001
L0018: JG L02,#02 [FALSE] L0019
CALL_VN R0205 (#0106,#10)
JUMP L0001
L0019: LOADW L01,#03 -> L05
LOADW L01,#04 -> L06
STORE L03,#00
L0020: JL L03,#0a [FALSE] L0021
LOADB #361d,L03 -> -(SP)
STOREB L01,L03,(SP)+
INC L03
JUMP L0020
L0021: MUL #02,G3e -> -(SP)
SUB (SP)+,#01 -> L04
STOREW L01,L04,L05
ADD L04,#01 -> -(SP)
STOREW L01,(SP)+,L06
RET L02
Routine R0005, 10 locals
JE G24,#01 [FALSE] L0003
STORE L05,#00
L0001: JL L05,#08 [FALSE] L0002
LOADW #3727,L05 -> -(SP)
STOREW L00,L05,(SP)+
INC L05
JUMP L0001
L0002: STORE G24,#00
RTRUE
L0003: JE G55,#01 [FALSE] L0006
STORE G55,#00
STORE L05,#00
L0004: JL L05,#40 [FALSE] L0005
LOADB #357b,L05 -> -(SP)
STOREB #3421,L05,(SP)+
INC L05
JUMP L0004
L0005: NEW_LINE
JUMP L0007
L0006: CALL_VN R0004 (#33a8,#3421)
L0007: LOADB #3421,#01 -> G30
STORE G2f,#01
CALL_1N R0367
LOADB #3421,#01 -> G30
STORE G32,#01
STORE G17,G08
STORE G18,G00
STORE G69,#00
L0008: STORE G5c,#00
STORE G63,#00
STORE G60,#ffff
L0009: STORE G2f,G32
CALL_1S R0038 -> G31
JE G31,#ffff [FALSE] L0010
STORE G57,#01
JUMP L0084
L0010: JE G31,"g" [FALSE] L0011
STORE G31,"again"
L0011: JE G31,"again" [FALSE] L0016
JE G17,G08 [TRUE] L0012
PRINT "To repeat a command like "frog, jump", just say
"again", not "frog, again".
"
JUMP L0006
L0012: LOADB #35bc,#01 -> -(SP)
JZ (SP)+ [FALSE] L0013
PRINT "You can hardly repeat that.
"
JUMP L0006
L0013: STORE L05,#00
L0014: JL L05,#40 [FALSE] L0015
LOADB #35bc,L05 -> -(SP)
STOREB #3421,L05,(SP)+
INC L05
JUMP L0014
L0015: JUMP L0007
L0016: JE G31,"again" [TRUE] L0018
STORE L05,#00
L0017: JL L05,#40 [FALSE] L0018
LOADB #3421,L05 -> -(SP)
STOREB #35bc,L05,(SP)+
INC L05
JUMP L0017
L0018: JZ G69 [FALSE] L0023
CALL_VS R0049 (G17,#11) -> L05
JL L05,#00 [FALSE] L0019
STORE G69,G32
SUB #00,L05 -> L05
L0019: JE L05,#01 [FALSE] L0020
STOREW L00,#00,G19
STOREW L00,#01,G1e
STOREW L00,#02,G1f
RTRUE
L0020: JZ L05 [TRUE] L0021
STORE G31,L05
DEC G2f
DEC G32
JUMP L0022
L0021: STORE G2f,G32
CALL_1S R0037 -> G31
L0022: JUMP L0024
L0023: STORE G69,#00
L0024: JZ G31 [TRUE] L0025
LOADB G31,#06 -> -(SP)
AND (SP)+,#01 -> -(SP)
JZ (SP)+ [FALSE] L0040
L0025: STORE G2f,G32
CALL_VS R0010 (#06,#00,#00) -> L08
JE L08,#2710 [FALSE] L0026
JUMP L0007
L0026: JZ L08 [TRUE] L0027
STOREW L00,#00,#00
STOREW L00,#01,#01
STOREW L00,#02,L08
JUMP L0114
L0027: JE G17,G08 [FALSE] L0031
STORE L06,#02
L0028: JG L06,G30 [TRUE] L0030
CALL_1S R0037 -> L05
JE L05,"xcomma" [FALSE] L0029
JUMP L0032
L0029: INC L06
JUMP L0028
L0030: CALL_2S R0370 (G31) -> G31
JZ G31 [TRUE] L0031
JUMP L0040
L0031: STORE G57,#0c
JUMP L0084
L0032: SUB G2f,#01 -> L06
JE L06,#01 [FALSE] L0033
PRINT "You can't begin with a comma.
"
JUMP L0006
L0033: STORE G2f,#01
STORE G4c,#01
STORE G62,#01
CALL_VS R0010 (G08,G18,#06) -> L08
STORE G62,#00
JE L08,#2710 [FALSE] L0034
JUMP L0007
L0034: JZ L08 [FALSE] L0035
PRINT "You seem to want to talk to someone, but I can't see
whom.
"
JUMP L0006
L0035: TEST_ATTR L08,#00 [TRUE] L0036
TEST_ATTR L08,#16 [TRUE] L0036
PRINT "You can't talk to "
CALL_2N R0077 (L08)
PRINT ".
"
JUMP L0006
L0036: JE G2f,L06 [TRUE] L0037
PRINT "To talk to someone, try "someone, hello" or some such.
"
JUMP L0006
L0037: CALL_2N R0042 (L08)
ADD L06,#01 -> G32
STORE G17,L08
STORE G18,L08
L0038: GET_PARENT G18 -> -(SP)
JZ (SP)+ [TRUE] L0039
GET_PARENT G18 -> G18
JUMP L0038
L0039: JUMP L0009
L0040: LOADB G31,#06 -> -(SP)
AND (SP)+,#02 -> -(SP)
DIV (SP)+,#02 -> G26
JE G26,#01 [FALSE] L0041
JE G17,G08 [TRUE] L0041
STORE G57,#0c
STORE G26,#00
JUMP L0084
L0041: LOADB G31,#07 -> -(SP)
SUB #ff,(SP)+ -> L05
LOADW #00,#07 -> -(SP)
LOADW (SP)+,L05 -> L01
LOADB L01,#00 -> -(SP)
SUB (SP)+,#01 -> L03
STORE G47,"it"
STORE G48,G49
STORE G57,#01
STORE G58,G57
STORE L02,#00
L0042: JG L02,L03 [TRUE] L0084
MUL L02,#08 -> -(SP)
ADD L01,#01 -> -(SP)
ADD (SP)+,(SP)+ -> L04
STORE G52,#00
STORE G3c,#00
STORE G39,#00
LOADB L04,#00 -> G3a
STORE G3b,#00
STORE G20,#00
STORE G21,#00
STOREW #3482,#00,#00
STORE G36,#00
STORE G59,#01
LOADB L04,#07 -> G60
ADD G32,#01 -> G2f
STORE G5d,#ffff
STORE G4d,#00
STORE L05,#00
STORE L09,#00
STORE G37,#01
L0043: JG G37,#06 [TRUE] L0052
STORE G63,#00
LOADB L04,G37 -> L07
JE L07,#02 [FALSE] L0044
INC L09
L0044: JL L07,#b4 [FALSE] L0045
INC L05
L0045: JE L07,#04,#05 [FALSE] L0051
JE L05,#01 [FALSE] L0051
INC G37
L0046: JG G37,#06 [TRUE] L0047
LOADB L04,G37 -> -(SP)
JL (SP)+,#b4 [TRUE] L0047
INC G37
JUMP L0046
L0047: SUB G37,#01 -> -(SP)
LOADB L04,(SP)+ -> L07
JL L07,#b4 [TRUE] L0051
CALL_2S R0035 (L07) -> L06
L0048: JG G2f,G30 [TRUE] L0051
CALL_1S R0037 -> -(SP)
JE (SP)+,L06 [FALSE] L0050
CALL_VS R0010 (G18,G17,L07) -> L08
JE L08,#2710 [FALSE] L0049
JUMP L0007
L0049: JL L08,#02 [TRUE] L0050
STORE G5d,L08
L0050: JUMP L0048
L0051: INC G37
JUMP L0043
L0052: STORE G68,#00
JE L09,#01 [FALSE] L0053
JE G3a,#01 [FALSE] L0053
JE G60,#01 [FALSE] L0053
STORE G68,#01
L0053: STORE G52,#00
STORE G3c,#00
STORE G39,#00
STORE G3b,#00
STORE G20,#00
STORE G21,#00
STOREW #3482,#00,#00
STORE G59,#01
LOADB L04,#07 -> G60
ADD G32,#01 -> G2f
STORE G37,#01
L0054: JG G37,#06 [TRUE] L0080
STOREW #35fd,G37,#00
STORE G63,#00
LOADB L04,G37 -> L07
ADD G37,#01 -> L09
STORE G4c,#08
JG L09,#06 [TRUE] L0055
LOADB L04,L09 -> G4c
L0055: JZ G4c [FALSE] L0057
STORE L09,G39
JG L07,#07 [TRUE] L0056
INC L09
L0056: JL L09,G3a [TRUE] L0057
STORE G4c,#08
L0057: JG L07,#b4 [FALSE] L0061
ADD #2710,L07 -> -(SP)
STOREW #35fd,G37,(SP)+
JG G2f,G30 [FALSE] L0059
JZ G3c [FALSE] L0058
JL G39,G3a [FALSE] L0058
STORE G3c,G37
STORE G3d,L07
L0058: JZ G3c [FALSE] L0059
JUMP L0080
L0059: JG G2f,G30 [TRUE] L0060
CALL_1S R0034 -> -(SP)
JE L07,(SP)+ [TRUE] L0060
JUMP L0080
L0060: JUMP L0079
L0061: JE G39,G3a [FALSE] L0075
JG G2f,G30 [TRUE] L0065
CALL_1S R0037 -> L08
JE L08,"then","xcomma" [FALSE] L0062
STORE G55,#01
SUB G2f,#01 -> G56
JUMP L0065
L0062: STORE L09,#00
L0063: JL L09,#08 [FALSE] L0064
LOADW #35fd,L09 -> -(SP)
STOREW #360d,L09,(SP)+
INC L09
JUMP L0063
L0064: STORE G38,G37
STORE G59,#02
JUMP L0080
L0065: JL G39,#01 [TRUE] L0066
LOADW L00,#02 -> -(SP)
JZ (SP)+ [FALSE] L0066
LOADW L00,#03 -> -(SP)
CALL_2S R0012 ((SP)+) -> L08
JZ L08 [TRUE] L0066
STORE G59,L08
JUMP L0080
L0066: JL G39,#02 [TRUE] L0067
LOADW L00,#03 -> -(SP)
JZ (SP)+ [FALSE] L0067
LOADW L00,#02 -> -(SP)
CALL_2S R0012 ((SP)+) -> L08
JZ L08 [TRUE] L0067
STORE G59,L08
JUMP L0080
L0067: JE G68,#02 [FALSE] L0068
LOADW L00,#02 -> -(SP)
JE (SP)+,G17 [FALSE] L0068
STORE G57,#11
JUMP L0084
L0068: JZ G3c [TRUE] L0069
PRINT "("
CALL_VN R0016 (G3c,#01)
PRINT ")
"
L0069: STOREW L00,#01,G3a
LOADB L04,#07 -> -(SP)
STOREW L00,#00,(SP)+
JG G39,#00 [FALSE] L0070
LOADW L00,#02 -> -(SP)
JL (SP)+,#02 [TRUE] L0070
LOADW L00,#02 -> -(SP)
CALL_2N R0042 ((SP)+)
L0070: STORE G3e,#00
JZ G52 [TRUE] L0073
JE G17,G08 [FALSE] L0073
STORE G24,#01
STORE L05,#00
L0071: JL L05,#08 [FALSE] L0072
LOADW L00,L05 -> -(SP)
STOREW #3727,L05,(SP)+
INC L05
JUMP L0071
L0072: STOREW L00,#00,#01
STOREW L00,#01,#01
STOREW L00,#02,G52
PRINT "(first taking "
CALL_2N R0077 (G52)
PRINT ")
"
L0073: JE G55,#01 [FALSE] L0074
STORE G2f,G56
JUMP L0114
L0074: RTRUE
L0075: JE L07,#06 [FALSE] L0077
JE G60,#02,#03,#04 [TRUE] L0076
JE G60,#05 [FALSE] L0077
L0076: STORE G62,#01
L0077: CALL_VS R0009 (L00,L07) -> L08
STORE G62,#00
JE L08,#2710 [FALSE] L0078
JUMP L0007
L0078: JZ L08 [FALSE] L0079
JUMP L0080
L0079: INC G37
JUMP L0054
L0080: JG G59,G57 [FALSE] L0081
STORE G57,G59
L0081: JE G59,#12 [TRUE] L0082
JG G59,G58 [FALSE] L0082
STORE G58,G59
L0082: JE G68,#02 [FALSE] L0083
JE G59,#11 [FALSE] L0083
JUMP L0084
L0083: INC L02
JUMP L0042
L0084: STORE G59,G57
JE G17,G08 [TRUE] L0087
JG G69,#00 [FALSE] L0085
STORE G32,G69
JUMP L0008
L0085: STORE G2f,G32
CALL_1S R0037 -> G20
JE G20,"xcomma" [FALSE] L0086
CALL_1S R0037 -> G20
INC G32
L0086: CALL_2S R0041 (G32) -> G21
STOREW L00,#00,#0108
STOREW L00,#01,#02
STOREW L00,#02,#01
STORE G1c,G20
STOREW L00,#03,G17
STORE G28,G32
SUB G30,G28 -> -(SP)
ADD (SP)+,#01 -> G29
RTRUE
L0087: CALL_2S R0372 (G59) -> -(SP)
JZ (SP)+ [TRUE] L0088
JUMP L0006
L0088: JE G59,#01 [FALSE] L0089
PRINT "I didn't understand that sentence.
"
STORE G3e,#01
L0089: JE G59,#02 [FALSE] L0092
PRINT "I only understood you as far as wanting to "
STORE L09,#00
L0090: JL L09,#08 [FALSE] L0091
LOADW #360d,L09 -> -(SP)
STOREW #35fd,L09,(SP)+
INC L09
JUMP L0090
L0091: STORE G37,G38
CALL_VN R0016 (#00,#01)
PRINT ".
"
L0092: JE G59,#03 [FALSE] L0093
PRINT "I didn't understand that number.
"
L0093: JE G59,#04 [FALSE] L0094
PRINT "You can't see any such thing.
"
STORE G3e,G3f
L0094: JE G59,#05 [FALSE] L0095
PRINT "You seem to have said too little!
"
L0095: JE G59,#06 [FALSE] L0096
PRINT "You aren't holding that!
"
STORE G3e,G3f
L0096: JE G59,#07 [FALSE] L0097
PRINT "You can't use multiple objects with that verb.
"
L0097: JE G59,#08 [FALSE] L0098
PRINT "You can only use multiple objects once on a line.
"
L0098: JE G59,#09 [FALSE] L0099
PRINT "I'm not sure what ""
PRINT_ADDR G47
PRINT "" refers to.
"
L0099: JE G59,#0a [FALSE] L0100
PRINT "You excepted something not included anyway!
"
L0100: JE G59,#0b [FALSE] L0101
PRINT "You can only do that to something animate.
"
L0101: JE G59,#0c [FALSE] L0102
PRINT "That's not a verb I recognise.
"
L0102: JE G59,#0d [FALSE] L0103
PRINT "That's not something you need to refer to in the course
of this game.
"
L0103: JE G59,#0e [FALSE] L0104
PRINT "You can't see ""
PRINT_ADDR G47
PRINT "" ("
CALL_2N R0077 (G48)
PRINT ") at the moment.
"
L0104: JE G59,#0f [FALSE] L0105
PRINT "I didn't understand the way that finished.
"
L0105: JE G59,#10 [FALSE] L0110
JZ G35 [FALSE] L0106
PRINT "None"
JUMP L0107
L0106: PRINT "Only "
CALL_2N R0084 (G35)
L0107: PRINT " of those "
JE G35,#01 [FALSE] L0108
PRINT "is"
JUMP L0109
L0108: PRINT "are"
L0109: PRINT " available.
"
L0110: JE G59,#11 [FALSE] L0112
JE G34,#64 [FALSE] L0111
PRINT "Nothing to do!
"
JUMP L0112
L0111: PRINT "There are none at all available!
"
L0112: JE G59,#12 [FALSE] L0113
STORE G65,#03
CALL_1S G64 -> -(SP)
JE (SP)+,#ffff [FALSE] L0113
STORE G57,G58
JUMP L0084
L0113: JUMP L0006
L0114: JG G2f,G30 [TRUE] RTRUE
CALL_1S R0037 -> L05
JE L05,"then" [TRUE] L0115
JE L05,"xcomma" [FALSE] L0133
L0115: JG G2f,G30 [FALSE] L0116
LOADB #357b,#01 -> -(SP)
SUB (SP)+,#01 -> -(SP)
STOREB #357b,#01,(SP)+
STORE G55,#00
RTRUE
L0116: JE G17,G08 [FALSE] L0117
STORE L06,#00
JUMP L0118
L0117: SUB G32,#01 -> L06
L0118: ADD L06,#01 -> G5a
SUB G2f,#02 -> G5b
CALL_1S R0037 -> L05
JE L05,"again","g" [FALSE] L0127
STORE L05,#00
L0119: JL L05,L06 [FALSE] L0120
MUL #02,L05 -> -(SP)
ADD (SP)+,#01 -> -(SP)
LOADW #3421,(SP)+ -> -(SP)
MUL #02,L05 -> -(SP)
ADD (SP)+,#01 -> -(SP)
STOREW #357b,(SP)+,(SP)+
MUL #02,L05 -> -(SP)
ADD (SP)+,#02 -> -(SP)
LOADW #3421,(SP)+ -> -(SP)
MUL #02,L05 -> -(SP)
ADD (SP)+,#02 -> -(SP)
STOREW #357b,(SP)+,(SP)+
INC L05
JUMP L0119
L0120: STORE L05,G5a
JUMP L0122
L0121: INC L05
INC L06
L0122: JG L05,G5b [TRUE] L0123
MUL #02,L05 -> -(SP)
LOADW #3421,(SP)+ -> -(SP)
MUL #02,L06 -> -(SP)
ADD #02,(SP)+ -> -(SP)
STOREW #357b,(SP)+,(SP)+
MUL #02,L05 -> -(SP)
SUB (SP)+,#01 -> -(SP)
LOADW #3421,(SP)+ -> -(SP)
MUL #02,L06 -> -(SP)
ADD #01,(SP)+ -> -(SP)
STOREW #357b,(SP)+,(SP)+
JUMP L0121
L0123: STORE L05,G2f
JUMP L0125
L0124: INC L05
INC L06
L0125: JG L05,G30 [TRUE] L0126
MUL #02,L05 -> -(SP)
LOADW #3421,(SP)+ -> -(SP)
MUL #02,L06 -> -(SP)
ADD #02,(SP)+ -> -(SP)
STOREW #357b,(SP)+,(SP)+
MUL #02,L05 -> -(SP)
SUB (SP)+,#01 -> -(SP)
LOADW #3421,(SP)+ -> -(SP)
MUL #02,L06 -> -(SP)
ADD #01,(SP)+ -> -(SP)
STOREW #357b,(SP)+,(SP)+
JUMP L0124
L0126: STOREB #357b,#01,L06
STORE G55,#01
RTRUE
L0127: DEC G2f
STORE L05,#00
L0128: JL L05,L06 [FALSE] L0129
MUL #02,L05 -> -(SP)
ADD (SP)+,#01 -> -(SP)
LOADW #3421,(SP)+ -> -(SP)
MUL #02,L05 -> -(SP)
ADD (SP)+,#01 -> -(SP)
STOREW #357b,(SP)+,(SP)+
MUL #02,L05 -> -(SP)
ADD (SP)+,#02 -> -(SP)
LOADW #3421,(SP)+ -> -(SP)
MUL #02,L05 -> -(SP)
ADD (SP)+,#02 -> -(SP)
STOREW #357b,(SP)+,(SP)+
INC L05
JUMP L0128
L0129: STORE L05,G2f
JUMP L0131
L0130: INC L05
INC L06
L0131: JG L05,G30 [TRUE] L0132
MUL #02,L05 -> -(SP)
LOADW #3421,(SP)+ -> -(SP)
MUL #02,L06 -> -(SP)
ADD #02,(SP)+ -> -(SP)
STOREW #357b,(SP)+,(SP)+
MUL #02,L05 -> -(SP)
SUB (SP)+,#01 -> -(SP)
LOADW #3421,(SP)+ -> -(SP)
MUL #02,L06 -> -(SP)
ADD #01,(SP)+ -> -(SP)
STOREW #357b,(SP)+,(SP)+
JUMP L0130
L0132: STOREB #357b,#01,L06
STORE G55,#01
RTRUE
L0133: STORE G57,#02
JUMP L0084
Routine R0006, 1 local
JE L00,"one" [FALSE] L0001
RTRUE
L0001: JE L00,"two" [FALSE] L0002
RET #02
L0002: JE L00,"three" [FALSE] L0003
RET #03
L0003: JE L00,"four" [FALSE] L0004
RET #04
L0004: JE L00,"five" [FALSE] L0005
RET #05
L0005: JE L00,"six" [FALSE] L0006
RET #06
L0006: JE L00,"seven" [FALSE] L0007
RET #07
L0007: JE L00,"eight" [FALSE] L0008
RET #08
L0008: JE L00,"nine" [FALSE] L0009
RET #09
L0009: JE L00,"ten" [FALSE] L0010
RET #0a
L0010: JE L00,"eleven" [FALSE] L0011
RET #0b
L0011: JE L00,"twelve" [FALSE] L0012
RET #0c
L0012: JE L00,"thirteen" [FALSE] L0013
RET #0d
L0013: JE L00,"fourteen" [FALSE] L0014
RET #0e
L0014: JE L00,"fifteen" [FALSE] L0015
RET #0f
L0015: JE L00,"sixteen" [FALSE] L0016
RET #10
L0016: JE L00,"seventeen" [FALSE] L0017
RET #11
L0017: JE L00,"eighteen" [FALSE] L0018
RET #12
L0018: JE L00,"nineteen" [FALSE] L0019
RET #13
L0019: JE L00,"twenty" [FALSE] L0020
RET #14
L0020: RFALSE
Routine R0007, 4 locals
STORE G4d,#00
STORE G4e,#00
STORE G4f,#00
STORE G50,#00
STORE L02,#01
L0001: JE L02,#01 [FALSE] L0017
CALL_1S R0037 -> L01
STORE L02,#00
JE L01,"the" [FALSE] L0002
STORE L02,#01
L0002: JE L01,"a","an","any" [TRUE] L0003
JE L01,"either","anything" [FALSE] L0004
L0003: STORE G4d,#01
STORE L02,#01
L0004: JE L01,"another",S065 OR "other" [FALSE] L0005
STORE G4d,#01
STORE L02,#01
OR G4e,#01 -> G4e
L0005: JE L01,"my","this","these" [FALSE] L0006
STORE G4d,#01
STORE L02,#01
OR G4e,#02 -> G4e
L0006: JE L01,"that","those" [FALSE] L0007
STORE G4d,#01
STORE L02,#01
OR G4e,#04 -> G4e
L0007: JE L01,"its" [FALSE] L0008
STORE G4d,#01
STORE L02,#01
OR G4e,#10 -> G4e
L0008: JE L01,"his","your" [FALSE] L0009
STORE G4d,#01
STORE L02,#01
OR G4e,#20 -> G4e
L0009: JE L01,"lit","lighted" [FALSE] L0010
STORE G4d,#01
STORE L02,#01
OR G4e,#40 -> G4e
L0010: JE L01,"unlit" [FALSE] L0011
STORE G4d,#01
STORE L02,#01
OR G4e,#80 -> G4e
L0011: JE L01,"all","each","every" [TRUE] L0012
JE L01,"everythin" [FALSE] L0014
L0012: STORE G4d,#01
STORE L02,#01
STORE G4f,#64
JE G68,#01 [FALSE] L0013
STORE G68,#02
L0013: OR G4e,#08 -> G4e
L0014: JE G51,#01 [FALSE] L0015
CALL_2S R0006 (L01) -> L03
JG L03,#01 [FALSE] L0015
STORE G50,#01
STORE G4d,#01
STORE L02,#01
STORE G4f,L03
OR G4e,#08 -> G4e
L0015: JE L02,#01 [FALSE] L0016
CALL_1S R0037 -> -(SP)
JE (SP)+,"of" [TRUE] L0016
DEC G2f
L0016: JUMP L0001
L0017: DEC G2f
JG G4f,#00 [FALSE] L0019
JL L00,#02 [TRUE] L0018
JG L00,#05 [FALSE] L0019
L0018: RET #07
L0019: RFALSE
Routine R0008, 1 local
TEST_ATTR L00,#00 [TRUE] RTRUE
TEST_ATTR L00,#16 [FALSE] RFALSE
JE G60,#03,#02,#05 [TRUE] RTRUE
JE G60,#04 [TRUE] RTRUE
RFALSE
Routine R0009, 11 locals
STORE L0a,#00
STORE L07,#01
STORE G61,#00
L0001: CALL_1S R0037 -> L03
DEC G2f
JE L03,"it","them" [FALSE] L0002
STORE G47,L03
STORE G48,G49
JZ G49 [FALSE] L0002
STORE G59,#09
RFALSE
L0002: JE L03,"him" [FALSE] L0003
STORE G47,L03
STORE G48,G4a
JZ G4a [FALSE] L0003
STORE G59,#09
RFALSE
L0003: JE L03,"her" [FALSE] L0004
STORE G47,L03
STORE G48,G4b
JZ G4b [FALSE] L0004
STORE G59,#09
RFALSE
L0004: JE L03,S023 OR "me","myself","self" [FALSE] L0005
STORE G47,L03
STORE G48,G08
L0005: JE L01,#07 [FALSE] L0009
CALL_2S R0041 (G2f) -> L02
JE L02,#fc18 [TRUE] L0008
JZ G3b [FALSE] L0006
STORE G1c,L02
JUMP L0007
L0006: STORE G1d,L02
L0007: STORE G21,L02
INC G3b
L0008: CALL_1S R0037 -> G20
STORE L08,#01
JUMP L0048
L0009: JE L01,#08 [FALSE] L0013
PUSH G2f
INC G2f
CALL_2S R0041 ((SP)+) -> L02
JE L02,#fc18 [FALSE] L0010
STORE G59,#03
RFALSE
L0010: PUSH G3b
INC G3b
JZ (SP)+ [FALSE] L0011
STORE G1c,L02
JUMP L0012
L0011: STORE G1d,L02
L0012: STORE L08,#01
JUMP L0048
L0013: JL L01,#30 [TRUE] L0019
JL L01,#50 [FALSE] L0019
SUB L01,#30 -> -(SP)
LOADW #4004,(SP)+ -> -(SP)
CALL_1S (SP)+ -> L02
JL L02,#00 [TRUE] RFALSE
JZ L02 [FALSE] L0014
DEC G3a
RTRUE
L0014: JE L02,#01 [FALSE] L0017
JZ G3b [FALSE] L0015
STORE G1c,G22
JUMP L0016
L0015: STORE G1d,G22
L0016: INC G3b
L0017: JE L02,#2710 [FALSE] L0018
RET L02
L0018: STORE L08,L02
JUMP L0048
L0019: JL L01,#50 [TRUE] L0021
JL L01,#80 [FALSE] L0021
SUB L01,#50 -> -(SP)
LOADW #4004,(SP)+ -> G63
STORE G65,#01
CALL_1S G63 -> L02
JE L02,#01 [FALSE] L0020
STORE L01,#02
JUMP L0021
L0020: STORE L01,#00
L0021: STORE G5c,#00
JL L01,#10 [TRUE] L0022
STORE G5c,L01
STORE L01,#00
L0022: STORE G51,#01
STORE L09,G2f
L0023: CALL_2S R0007 (L01) -> L02
JZ L02 [TRUE] L0024
STORE G59,L02
RFALSE
L0024: STORE G3e,G2f
JE L01,#01 [TRUE] L0036
LOADW #3482,#00 -> L04
CALL_VS R0010 (G18,G17,L01) -> L02
JE L02,#2710 [FALSE] L0025
RET L02
L0025: JZ L02 [FALSE] L0026
CALL_1S R0017 -> G59
JUMP L0051
L0026: JE L02,#01 [FALSE] L0032
JZ L0a [FALSE] L0027
STORE L0a,#01
JUMP L0031
L0027: LOADW #3482,#00 -> L06
STOREW #3482,#00,L04
ADD L04,#01 -> L05
L0028: JG L05,L06 [TRUE] L0031
JE L07,#01 [FALSE] L0029
LOADW #3482,L05 -> -(SP)
CALL_2N R0018 ((SP)+)
JUMP L0030
L0029: LOADW #3482,L05 -> -(SP)
CALL_2N R0019 ((SP)+)
L0030: INC L05
JUMP L0028
L0031: JUMP L0036
L0032: JE L01,#06 [FALSE] L0033
CALL_2S R0008 (L02) -> -(SP)
JZ (SP)+ [FALSE] L0033
STORE G59,#0b
JUMP L0051
L0033: JZ L0a [FALSE] L0034
STORE L08,L02
JUMP L0036
L0034: JE L07,#01 [FALSE] L0035
CALL_2N R0018 (L02)
JUMP L0036
L0035: CALL_2N R0019 (L02)
L0036: JE L01,#01 [FALSE] L0041
CALL_VS R0010 (G17,G18,L01) -> L02
JE L02,#2710 [FALSE] L0037
RET L02
L0037: JZ L02 [FALSE] L0038
CALL_1S R0017 -> G59
RET L02
L0038: GET_PARENT L02 -> L03
JE L03,G17 [TRUE] L0040
JE G24,#01 [FALSE] L0039
STORE G3f,G3e
STORE G59,#06
JUMP L0051
L0039: STORE G52,L02
L0040: STORE L08,L02
L0041: ADD G3e,G42 -> G2f
CALL_1S R0037 -> L03
JE L03,"and","but","except" [TRUE] L0042
JE L03,"xcomma" [FALSE] L0047
L0042: JL L01,#02 [TRUE] L0043
JL L01,#06 [TRUE] L0044
L0043: STORE G59,#07
JUMP L0051
L0044: JE L03,"but","except" [FALSE] L0045
SUB #01,L07 -> L07
L0045: JZ L0a [FALSE] L0046
STOREW #3482,#00,#01
STOREW #3482,#01,L08
STORE L0a,#01
L0046: STORE G61,#01
STORE G3c,#00
JUMP L0001
L0047: DEC G2f
L0048: JE L0a,#01 [FALSE] L0049
STORE L08,#00
STORE G36,L01
JUMP L0050
L0049: JE G4d,#01 [FALSE] L0050
AND G4e,#08 -> -(SP)
JZ (SP)+ [TRUE] L0050
JL G4f,#64 [FALSE] L0050
JG G4f,#01 [FALSE] L0050
STORE G35,#01
STORE G34,G4f
STORE G59,#10
JUMP L0051
L0050: ADD G39,#02 -> -(SP)
STOREW L00,(SP)+,L08
INC G39
STOREW #35fd,G37,L08
RTRUE
L0051: JE G51,#01 [FALSE] L0052
JE G50,#01 [FALSE] L0052
STORE G51,#00
STORE G2f,L09
JUMP L0023
L0052: RFALSE
Routine R0010, 11 locals
STORE G42,#00
STORE G40,#00
STORE G43,G2f
STORE G5e,#00
CALL_VN R0023 (L00,L01,L02)
ADD G43,G42 -> G2f
JZ G40 [FALSE] L0001
INC G2f
RFALSE
L0001: JG G43,G30 [TRUE] L0004
JE G40,#01 [FALSE] L0002
LOADW #3627,#00 -> L04
RET L04
L0002: JG G2f,G30 [TRUE] L0004
CALL_1S R0037 -> L04
DEC G2f
JE L04,"and","xcomma","then" [TRUE] L0004
JE L04,"but","except" [TRUE] L0004
JE G4c,#08 [TRUE] RFALSE
JG G4c,#08 [FALSE] L0004
CALL_1S R0034 -> -(SP)
JE G4c,(SP)+ [TRUE] L0003
DEC G2f
RFALSE
L0003: DEC G2f
L0004: STORE G41,#00
JE G40,#01 [FALSE] L0005
LOADW #3627,#00 -> L04
L0005: JG G40,#01 [FALSE] L0006
CALL_2S R0011 (L02) -> L04
JE L04,#ffff [TRUE] RFALSE
JE L04,#01 [TRUE] RTRUE
L0006: JZ L04 [TRUE] L0009
JE G61,#01 [FALSE] L0007
RET L04
L0007: JZ G3c [FALSE] L0008
STORE G3c,G37
L0008: STOREW #35fd,G37,L04
RET L04
L0009: JG G43,G30 [FALSE] L0010
JUMP L0032
L0010: JE L02,#06 [FALSE] L0011
PRINT "Who"
JUMP L0012
L0011: PRINT "Which"
L0012: PRINT " do you mean, "
STORE L05,G41
STORE L0a,#00
STORE L04,#01
L0013: JG L04,G41 [TRUE] L0020
L0014: LOADW #36a7,L0a -> -(SP)
JE (SP)+,L04 [TRUE] L0015
SUB #00,L04 -> -(SP)
LOADW #36a7,L0a -> -(SP)
JE (SP)+,(SP)+ [TRUE] L0015
INC L0a
JUMP L0014
L0015: LOADW #3627,L0a -> L06
LOADW #36a7,L0a -> -(SP)
JG (SP)+,#00 [FALSE] L0016
CALL_2N R0077 (L06)
JUMP L0017
L0016: CALL_2N R0076 (L06)
L0017: SUB L05,#01 -> -(SP)
JL L04,(SP)+ [FALSE] L0018
PRINT ", "
L0018: SUB L05,#01 -> -(SP)
JE L04,(SP)+ [FALSE] L0019
PRINT " or "
L0019: INC L04
JUMP L0013
L0020: PRINT "?
"
L0021: CALL_VS R0004 (#3502,#357b) -> L09
LOADW #357b,#01 -> L03
JE L03,"all","both","everythin" [TRUE] L0022
JE L03,"every","each" [FALSE] L0026
L0022: JL L02,#02 [TRUE] L0025
JG L02,#05 [TRUE] L0025
LOADW #3482,#00 -> L07
STORE L04,#00
L0023: JL L04,G40 [FALSE] L0024
ADD L07,L04 -> -(SP)
JL (SP)+,#3f [FALSE] L0024
LOADW #3627,L04 -> L06
ADD L04,#01 -> -(SP)
ADD (SP)+,L07 -> -(SP)
STOREW #3482,(SP)+,L06
INC L04
JUMP L0023
L0024: ADD L04,L07 -> -(SP)
STOREW #3482,#00,(SP)+
RTRUE
L0025: PRINT "Sorry, you can only have one item here. Which one
exactly?
"
JUMP L0021
L0026: LOADB L03,#06 -> L05
AND L05,#01 -> -(SP)
JE #00,(SP)+ [TRUE] L0027
CALL_VN R0044 (#33a8,#3502)
CALL_VN R0044 (#3421,#357b)
RET #2710
L0027: LOADB #3421,#01 -> L08
ADD L09,L08 -> -(SP)
STOREB #3421,#01,(SP)+
ADD L08,L09 -> L06
L0028: JG L06,G43 [FALSE] L0029
SUB L06,L09 -> -(SP)
CALL_VN R0022 (L06,#3421,(SP)+)
DEC L06
JUMP L0028
L0029: STORE L06,#01
L0030: JG L06,L09 [TRUE] L0031
ADD G43,L06 -> -(SP)
SUB (SP)+,#01 -> -(SP)
CALL_VN R0022 ((SP)+,#357b,L06)
INC L06
JUMP L0030
L0031: RET #2710
L0032: JE L02,#06 [FALSE] L0033
PRINT "Whom"
JUMP L0034
L0033: PRINT "What"
L0034: PRINT " do you want"
JE G17,G08 [TRUE] L0035
PRINT " "
CALL_2N R0077 (G17)
L0035: PRINT " to "
CALL_VN R0016 (#00,#01)
PRINT "?
"
CALL_VS R0004 (#3502,#357b) -> L09
LOADW #357b,#01 -> L03
LOADB L03,#06 -> L05
AND L05,#01 -> -(SP)
JE #00,(SP)+ [TRUE] L0036
CALL_VN R0044 (#33a8,#3502)
CALL_VN R0044 (#3421,#357b)
RET #2710
L0036: LOADB #3421,#01 -> L08
JZ G3c [FALSE] L0039
STORE L06,#01
L0037: JG L06,L09 [TRUE] L0038
ADD L08,L06 -> -(SP)
CALL_VN R0022 ((SP)+,#357b,L06)
INC L06
JUMP L0037
L0038: JUMP L0045
L0039: SUB G37,G3c -> L05
STORE L06,#01
L0040: JG L06,L09 [TRUE] L0041
ADD L08,L06 -> -(SP)
ADD (SP)+,L05 -> -(SP)
CALL_VN R0022 ((SP)+,#357b,L06)
INC L06
JUMP L0040
L0041: STORE L05,G3c
L0042: JL L05,G37 [FALSE] L0045
LOADW #35fd,L05 -> -(SP)
JL (SP)+,#02 [TRUE] L0043
LOADW #35fd,L05 -> -(SP)
JL (SP)+,#2710 [FALSE] L0043
STOREW #357b,#01,"it"
LOADW #35fd,L05 -> G49
JUMP L0044
L0043: LOADW #35fd,L05 -> -(SP)
SUB (SP)+,#2710 -> -(SP)
CALL_2S R0035 ((SP)+) -> -(SP)
STOREW #357b,#01,(SP)+
L0044: ADD L08,#01 -> -(SP)
ADD (SP)+,L05 -> -(SP)
SUB (SP)+,G3c -> -(SP)
CALL_VN R0022 ((SP)+,#357b,#01)
INC L09
INC L05
JUMP L0042
L0045: ADD L09,L08 -> -(SP)
STOREB #3421,#01,(SP)+
RET #2710
Routine R0011, 10 locals
SUB G40,#01 -> L02
STORE L04,#00
LOADW #3627,#00 -> L05
STORE L01,#00
L0001: JG L01,L02 [TRUE] L0013
LOADW #3627,L01 -> L06
TEST_ATTR L06,#02 [TRUE] L0012
STORE L07,L06
L0002: GET_PARENT L07 -> L07
JE L07,G18,G17,#00 [FALSE] L0002
JZ L00 [FALSE] L0004
JE L07,G18 [FALSE] L0004
JZ G5c [TRUE] L0003
CALL_2S R0021 (L06) -> -(SP)
JE (SP)+,#01 [FALSE] L0004
L0003: INC L04
STORE L05,L06
L0004: JE L00,#01 [FALSE] L0005
GET_PARENT L06 -> -(SP)
JE (SP)+,G17 [FALSE] L0005
INC L04
STORE L05,L06
L0005: JE L00,#02 [FALSE] L0006
JE L07,G18 [FALSE] L0006
INC L04
STORE L05,L06
L0006: JE L00,#03 [FALSE] L0007
GET_PARENT L06 -> -(SP)
JE (SP)+,G17 [FALSE] L0007
INC L04
STORE L05,L06
L0007: JE L00,#04,#05 [FALSE] L0011
JE G5d,#ffff [FALSE] L0009
GET_PARENT L06 -> -(SP)
JE (SP)+,G17 [FALSE] L0008
INC L04
STORE L05,L06
L0008: JUMP L0011
L0009: JE L00,#04 [FALSE] L0010
GET_PARENT L06 -> -(SP)
JE (SP)+,G17 [FALSE] L0010
JE L06,G5d [TRUE] L0010
INC L04
STORE L05,L06
L0010: JE L00,#05 [FALSE] L0011
GET_PARENT L06 -> -(SP)
JE (SP)+,G17 [FALSE] L0011
JIN L06,G5d [FALSE] L0011
INC L04
STORE L05,L06
L0011: JE L00,#06 [FALSE] L0012
CALL_2S R0008 (L06) -> -(SP)
JE (SP)+,#01 [FALSE] L0012
INC L04
STORE L05,L06
L0012: INC L01
JUMP L0001
L0013: JE L04,#01 [FALSE] L0014
RET L05
L0014: JE L00,#06 [FALSE] L0015
JZ L04 [FALSE] L0015
LOADW #3627,#00 -> -(SP)
RET_POPPED
L0015: JE G4d,#01 [FALSE] L0028
AND G4e,#08 -> -(SP)
JZ (SP)+ [TRUE] L0028
JL L00,#02 [TRUE] L0016
JG L00,#05 [FALSE] L0017
L0016: STORE G59,#07
RET #ffff
L0017: STORE L01,#00
STORE G41,#01
LOADW #3482,#00 -> L09
CALL_1S R0014 -> L02
JUMP L0019
L0018: CALL_1S R0014 -> L02
L0019: JE L02,#ffff [TRUE] L0026
JL L01,G4f [FALSE] L0026
ADD L01,L09 -> -(SP)
JL (SP)+,#3f [FALSE] L0026
STORE L08,#00
TEST_ATTR L02,#02 [TRUE] L0020
TEST_ATTR L02,#1a [TRUE] L0020
STORE L08,#01
L0020: JE L00,#03,#04 [FALSE] L0021
GET_PARENT L02 -> -(SP)
JE (SP)+,G17 [TRUE] L0021
STORE L08,#00
L0021: CALL_VS R0374 (L02,L08) -> L03
JE L03,#01 [FALSE] L0022
STORE L08,#01
JUMP L0023
L0022: JE L03,#02 [FALSE] L0023
STORE L08,#00
L0023: JE L08,#01 [FALSE] L0024
INC L01
ADD L01,L09 -> -(SP)
STOREW #3482,(SP)+,L02
JUMP L0025
L0024: STORE L01,L01
L0025: JUMP L0018
L0026: JL L01,G4f [FALSE] L0027
JL G4f,#64 [FALSE] L0027
STORE G59,#10
STORE G34,G4f
LOADW #3482,#00 -> G35
RET #ffff
L0027: ADD L01,L09 -> -(SP)
STOREW #3482,#00,(SP)+
STORE G36,L00
RTRUE
L0028: STORE L01,#00
L0029: JL L01,G40 [FALSE] L0030
STOREW #36a7,L01,#00
INC L01
JUMP L0029
L0030: STORE L06,#01
STORE L01,#00
L0031: JL L01,G40 [FALSE] L0036
LOADW #36a7,L01 -> -(SP)
JZ (SP)+ [FALSE] L0035
PUSH L06
INC L06
STOREW #36a7,L01,(SP)+
STORE L08,#00
ADD L01,#01 -> L02
L0032: JL L02,G40 [FALSE] L0034
LOADW #36a7,L02 -> -(SP)
JZ (SP)+ [FALSE] L0033
LOADW #3627,L02 -> -(SP)
LOADW #3627,L01 -> -(SP)
CALL_VS R0015 ((SP)+,(SP)+) -> -(SP)
JE (SP)+,#01 [FALSE] L0033
STORE L08,#01
LOADW #36a7,L01 -> -(SP)
STOREW #36a7,L02,(SP)+
L0033: INC L02
JUMP L0032
L0034: JE L08,#01 [FALSE] L0035
SUB #01,L06 -> -(SP)
STOREW #36a7,L01,(SP)+
L0035: INC L01
JUMP L0031
L0036: DEC L06
STORE G41,L06
JG L06,#01 [FALSE] L0042
JZ G4d [FALSE] L0042
STORE L02,#00
STORE L04,#00
STORE L01,#00
L0037: JL L01,G40 [FALSE] L0040
LOADW #3627,L01 -> -(SP)
CALL_VS R0374 ((SP)+,#02) -> L03
JE L03,L02 [FALSE] L0038
INC L04
L0038: JG L03,L02 [FALSE] L0039
STORE L02,L03
STORE L04,#01
LOADW #3627,L01 -> L05
L0039: INC L01
JUMP L0037
L0040: JE L04,#01 [FALSE] L0041
RET L05
L0041: RFALSE
L0042: JZ G4d [FALSE] L0043
STORE G4e,#00
L0043: JE L06,#01 [FALSE] L0044
STORE G61,#01
L0044: CALL_1S R0014 -> -(SP)
RET_POPPED
Routine R0012, 3 locals
JE G36,#04,#05 [FALSE] L0006
STORE L01,#01
STORE L02,#00
L0001: LOADW #3482,#00 -> -(SP)
JG L01,(SP)+ [TRUE] L0005
JE G36,#04 [FALSE] L0002
LOADW #3482,L01 -> -(SP)
JE (SP)+,L00 [FALSE] L0003
L0002: JE G36,#05 [FALSE] L0004
LOADW #3482,L01 -> -(SP)
JIN (SP)+,L00 [FALSE] L0004
L0003: INC L02
LOADW #3482,L01 -> -(SP)
STOREW #3482,L02,(SP)+
L0004: INC L01
JUMP L0001
L0005: STOREW #3482,#00,L02
L0006: JE G36,#02 [FALSE] L0014
STORE L01,#01
STORE L02,#00
L0007: LOADW #3482,#00 -> -(SP)
JG L01,(SP)+ [TRUE] L0009
GET_PARENT G17 -> -(SP)
LOADW #3482,L01 -> -(SP)
GET_PARENT (SP)+ -> -(SP)
JE (SP)+,(SP)+ [FALSE] L0008
INC L02
L0008: INC L01
JUMP L0007
L0009: JE G68,#02 [TRUE] L0010
JG L02,#00 [FALSE] L0014
L0010: STORE L01,#01
STORE L02,#00
L0011: LOADW #3482,#00 -> -(SP)
JG L01,(SP)+ [TRUE] L0013
GET_PARENT G17 -> -(SP)
LOADW #3482,L01 -> -(SP)
GET_PARENT (SP)+ -> -(SP)
JE (SP)+,(SP)+ [FALSE] L0012
INC L02
LOADW #3482,L01 -> -(SP)
STOREW #3482,L02,(SP)+
L0012: INC L01
JUMP L0011
L0013: STOREW #3482,#00,L02
L0014: LOADW #3482,#00 -> L01
JZ L01 [FALSE] L0015
RET #11
L0015: RFALSE
Routine R0013, 7 locals
AND G4e,#01 -> -(SP)
JZ (SP)+ [TRUE] L0001
STORE L04,#28
L0001: AND G4e,#02 -> -(SP)
JZ (SP)+ [TRUE] L0002
ADD L04,#28 -> L04
L0002: AND G4e,#04 -> -(SP)
JZ (SP)+ [TRUE] L0003
ADD L04,#28 -> L04
L0003: AND G4e,#10 -> -(SP)
JZ (SP)+ [TRUE] L0004
ADD L04,#28 -> L04
L0004: AND G4e,#20 -> -(SP)
JZ (SP)+ [TRUE] L0005
ADD L04,#28 -> L04
L0005: AND G4e,#40 -> -(SP)
JZ (SP)+ [TRUE] L0006
ADD L04,#28 -> L04
L0006: AND G4e,#80 -> -(SP)
JZ (SP)+ [TRUE] L0007
ADD L04,#28 -> L04
L0007: STORE L05,#1e
STORE L06,#14
JE G60,#01,#06 [FALSE] L0008
STORE L05,#14
STORE L06,#1e
L0008: STORE L03,#00
L0009: JL L03,G40 [FALSE] L0022
LOADW #3627,L03 -> L02
GET_PARENT L02 -> L00
STORE L01,#00
JE L00,G17 [FALSE] L0010
STORE L01,L05
L0010: JE L00,G18 [FALSE] L0011
STORE L01,L06
L0011: JZ L01 [FALSE] L0012
JE L00,#06 [TRUE] L0012
STORE L01,#0a
L0012: AND G4e,#01 -> -(SP)
JZ (SP)+ [TRUE] L0013
JE L02,G49,G4a,G4b [TRUE] L0013
ADD L01,#28 -> L01
L0013: AND G4e,#02 -> -(SP)
JZ (SP)+ [TRUE] L0014
JE L00,G17 [FALSE] L0014
ADD L01,#28 -> L01
L0014: AND G4e,#04 -> -(SP)
JZ (SP)+ [TRUE] L0015
JE L00,G18 [FALSE] L0015
ADD L01,#28 -> L01
L0015: AND G4e,#40 -> -(SP)
JZ (SP)+ [TRUE] L0016
TEST_ATTR L02,#09 [FALSE] L0016
ADD L01,#28 -> L01
L0016: AND G4e,#80 -> -(SP)
JZ (SP)+ [TRUE] L0017
TEST_ATTR L02,#09 [TRUE] L0017
ADD L01,#28 -> L01
L0017: AND G4e,#10 -> -(SP)
JZ (SP)+ [TRUE] L0018
JE L00,G49 [FALSE] L0018
ADD L01,#28 -> L01
L0018: AND G4e,#20 -> -(SP)
JZ (SP)+ [TRUE] L0019
TEST_ATTR L00,#00 [FALSE] L0019
CALL_2S R0043 (L00) -> -(SP)
JE (SP)+,#01 [FALSE] L0019
ADD L01,#28 -> L01
L0019: CALL_VS R0374 (L02,#02) -> -(SP)
ADD L01,(SP)+ -> L01
JL L01,L04 [FALSE] L0020
STOREW #3627,L03,#ffff
JUMP L0021
L0020: STOREW #36a7,L03,L01
L0021: INC L03
JUMP L0009
L0022: STORE G41,#02
RTRUE
Routine R0014, 4 locals
JE G41,#01 [TRUE] L0001
CALL_1N R0013
L0001: STORE L00,#00
STORE L02,#ffff
STORE L03,#00
L0002: JL L03,G40 [FALSE] L0004
LOADW #3627,L03 -> -(SP)
JL (SP)+,#00 [TRUE] L0003
LOADW #36a7,L03 -> L01
JG L01,L02 [FALSE] L0003
STORE L02,L01
STORE L00,L03
L0003: INC L03
JUMP L0002
L0004: JL L02,#00 [FALSE] L0005
RET #ffff
L0005: LOADW #3627,L00 -> L03
STOREW #3627,L00,#ffff
RET L03
Routine R0015, 9 locals
JE L00,L01 [TRUE] RTRUE
JZ L00 [TRUE] RFALSE
JZ L01 [TRUE] RFALSE
GET_PARENT L00 -> -(SP)
JE (SP)+,#06 [TRUE] RFALSE
GET_PARENT L01 -> -(SP)
JE (SP)+,#06 [TRUE] RFALSE
GET_PROP L00,#1f -> -(SP)
JZ (SP)+ [FALSE] L0001
GET_PROP L01,#1f -> -(SP)
JZ (SP)+ [TRUE] L0002
L0001: GET_PROP L01,#1f -> -(SP)
GET_PROP L00,#1f -> -(SP)
JE (SP)+,(SP)+ [FALSE] RFALSE
STORE G44,#0104
STORE G45,L00
STORE G46,L01
STORE L07,G2f
CALL_VS R0049 (L00,#1f) -> L06
STORE G2f,L07
JE L06,#ffff [TRUE] RTRUE
JE L06,#fffe [TRUE] RFALSE
L0002: GET_PROP_ADDR L00,#01 -> L02
GET_PROP_ADDR L00,#01 -> Gef
JZ Gef [TRUE] L0003
GET_PROP_LEN Gef -> Gef
L0003: PUSH Gef
DIV (SP)+,#02 -> L04
GET_PROP_ADDR L01,#01 -> L03
GET_PROP_ADDR L01,#01 -> Gef
JZ Gef [TRUE] L0004
GET_PROP_LEN Gef -> Gef
L0004: PUSH Gef
DIV (SP)+,#02 -> L05
STORE L06,#00
L0005: JL L06,L04 [FALSE] L0009
STORE L08,#00
STORE L07,#00
L0006: JL L07,L05 [FALSE] L0008
LOADW L03,L07 -> -(SP)
LOADW L02,L06 -> -(SP)
JE (SP)+,(SP)+ [FALSE] L0007
STORE L08,#01
L0007: INC L07
JUMP L0006
L0008: JZ L08 [TRUE] RFALSE
INC L06
JUMP L0005
L0009: STORE L07,#00
L0010: JL L07,L05 [FALSE] L0014
STORE L08,#00
STORE L06,#00
L0011: JL L06,L04 [FALSE] L0013
LOADW L03,L07 -> -(SP)
LOADW L02,L06 -> -(SP)
JE (SP)+,(SP)+ [FALSE] L0012
STORE L08,#01
L0012: INC L06
JUMP L0011
L0013: JZ L08 [TRUE] RFALSE
INC L07
JUMP L0010
L0014: RTRUE
Routine R0016, 6 locals
JZ L00 [FALSE] L0005
STORE L02,G31
STORE L00,#01
STORE L05,#01
JE L02,"l" [FALSE] L0001
PRINT "look"
JUMP L0005
L0001: JE L02,"z" [FALSE] L0002
PRINT "wait"
JUMP L0005
L0002: JE L02,"x" [FALSE] L0003
PRINT "examine"
JUMP L0005
L0003: JE L02,"i","inv" [FALSE] L0004
PRINT "inventory"
JUMP L0005
L0004: CALL_2S R0371 (L02) -> -(SP)
JZ (SP)+ [FALSE] L0005
PRINT_ADDR L02
L0005: SUB G37,L01 -> L03
STORE L04,L00
L0006: JG L04,L03 [TRUE] L0012
JE L05,#01 [FALSE] L0007
PRINT_CHAR ' '
L0007: LOADW #35fd,L04 -> L02
JZ L02 [FALSE] L0008
PRINT "those things"
JUMP L0011
L0008: JE L02,#01 [FALSE] L0009
PRINT "that"
JUMP L0011
L0009: JL L02,#2710 [TRUE] L0010
SUB L02,#2710 -> -(SP)
CALL_2S R0035 ((SP)+) -> L02
PRINT_ADDR L02
JUMP L0011
L0010: CALL_2N R0077 (L02)
L0011: STORE L05,#01
INC L04
JUMP L0006
L0012: RTRUE
Routine R0017, 3 locals
STORE G3f,G3e
JZ G63 [TRUE] L0001
STORE G64,G63
RET #12
L0001: DEC G2f
CALL_1S R0037 -> L01
STORE L02,#04
JE L01,G47 [FALSE] L0002
STORE L02,#0e
L0002: GET_PARENT G17 -> L00
TEST_ATTR L00,#18 [FALSE] L0003
CALL_VS R0032 (L00,L01) -> -(SP)
JE (SP)+,#01 [FALSE] L0003
STORE L02,#0d
L0003: JG G59,L02 [FALSE] L0004
RET G59
L0004: RET L02
Routine R0018, 3 locals
LOADW #3482,#00 -> L01
JE L01,#3f [FALSE] L0001
STORE G16,#01
RTRUE
L0001: STORE L02,#01
L0002: JG L02,L01 [TRUE] L0003
LOADW #3482,L02 -> -(SP)
JE L00,(SP)+ [TRUE] RTRUE
INC L02
JUMP L0002
L0003: INC L01
STOREW #3482,L01,L00
STOREW #3482,#00,L01
RTRUE
Routine R0019, 5 locals
LOADW #3482,#00 -> L01
STORE L04,#00
STORE L02,#01
L0001: JG L02,L01 [TRUE] L0005
LOADW #3482,L02 -> -(SP)
JE L00,(SP)+ [FALSE] L0004
STORE L03,L02
L0002: JG L03,L01 [TRUE] L0003
ADD L03,#01 -> -(SP)
LOADW #3482,(SP)+ -> -(SP)
STOREW #3482,L03,(SP)+
INC L03
JUMP L0002
L0003: DEC L01
PUSH L01
STOREW #3482,#00,(SP)+
RET L04
L0004: INC L02
JUMP L0001
L0005: STORE L04,#09
RET L04
Routine R0020, 4 locals
L0001: LOADW #3482,#00 -> L01
STORE L02,#01
L0002: JG L02,L01 [TRUE] L0004
LOADW #3482,L02 -> L03
TEST_ATTR L03,L00 [TRUE] L0003
CALL_2N R0019 (L03)
JUMP L0001
L0003: INC L02
JUMP L0002
L0004: RTRUE
Routine R0021, 1 local
JL G5c,#80 [TRUE] L0001
SUB G5c,#80 -> -(SP)
TEST_ATTR L00,(SP)+ [TRUE] RTRUE
RFALSE
L0001: STORE G1e,L00
SUB G5c,#10 -> -(SP)
LOADW #4004,(SP)+ -> -(SP)
CALL_1S (SP)+ -> -(SP)
RET_POPPED
Routine R0022, 5 locals
MUL L00,#02 -> -(SP)
SUB (SP)+,#01 -> L03
MUL L02,#02 -> -(SP)
SUB (SP)+,#01 -> L04
PUSH L04
INC L04
LOADW L01,(SP)+ -> -(SP)
PUSH L03
INC L03
STOREW #3421,(SP)+,(SP)+
LOADW L01,L04 -> -(SP)
STOREW #3421,L03,(SP)+
RTRUE
Routine R0023, 4 locals
STORE L03,#00
JZ G63 [TRUE] L0001
STORE G65,#02
CALL_1S G63 -> -(SP)
JZ (SP)+ [FALSE] RTRUE
L0001: JE G17,L00,L01 [FALSE] L0002
CALL_2S R0369 (G17) -> -(SP)
JZ (SP)+ [FALSE] RTRUE
L0002: JE L02,#05 [FALSE] L0004
JE G5d,#ffff [TRUE] L0004
CALL_2S R0024 (G5d) -> -(SP)
JE (SP)+,#01 [FALSE] L0003
CALL_VN R0027 (G5d,#00,L02)
L0003: JUMP L0005
L0004: CALL_VN R0027 (L00,L01,L02)
CALL_VN R0027 (L01,#00,L02)
L0005: RTRUE
Routine R0024, 1 local
TEST_ATTR L00,#14 [TRUE] RTRUE
TEST_ATTR L00,#17 [TRUE] RTRUE
TEST_ATTR L00,#03 [FALSE] L0001
TEST_ATTR L00,#0e [TRUE] RTRUE
L0001: RFALSE
Routine R0025, 1 local
JE G62,#00,#01 [TRUE] L0001
CALL_2N R0026 (L00)
RTRUE
L0001: STORE G2f,G43
CALL_2N R0031 (L00)
STORE G5e,#01
RTRUE
Routine R0026, 3 locals
STORE L01,G62
STORE L02,G45
STORE Gef,G62
JE Gef,#03 [FALSE] L0003
GET_PROP L00,#0b -> -(SP)
JE (SP)+,#00,#ffff [FALSE] L0001
RTRUE
L0001: JZ G45 [FALSE] L0002
CALL_VS R0049 (L00,#0b) -> G45
L0002: JUMP L0011
L0003: JE Gef,#04 [FALSE] L0006
GET_PROP L00,#0d -> -(SP)
JE (SP)+,#00,#ffff [FALSE] L0004
RTRUE
L0004: JZ G45 [FALSE] L0005
CALL_VS R0049 (L00,#0d) -> G45
L0005: JUMP L0011
L0006: JE Gef,#02 [FALSE] L0008
GET_PROP_ADDR L00,#1c -> -(SP)
JZ (SP)+ [FALSE] L0007
RTRUE
L0007: CALL_VN R0047 (L00,#1c)
JUMP L0011
L0008: JE Gef,#06 [FALSE] L0010
JE L00,G45 [FALSE] L0009
STORE G46,#01
L0009: JUMP L0011
L0010: JE Gef,#05 [FALSE] L0011
CALL_2N G45 (L00)
STORE G45,L02
L0011: STORE G62,L01
RTRUE
Routine R0027, 3 locals
JZ L00 [TRUE] RTRUE
JE L02,#04 [FALSE] L0001
JE L00,G5d [TRUE] RTRUE
L0001: JZ G4d [FALSE] L0002
JE L00,G18 [FALSE] L0002
JZ G62 [FALSE] L0002
JE L02,#06 [TRUE] L0002
CALL_2N R0027 (#06)
L0002: GET_CHILD L00 -> -(SP) [FALSE] L0003
L0003: PULL L00
JZ L00 [TRUE] L0005
L0004: CALL_VN R0028 (L00,L01,L02)
GET_SIBLING L00 -> L00 [TRUE] L0004
L0005: RTRUE
Routine R0028, 6 locals
JE G62,#00,#01 [TRUE] L0001
CALL_2N R0026 (L00)
JUMP L0007
L0001: JG G43,G30 [FALSE] L0002
STORE L03,G2b
STORE G2b,#00
CALL_VN R0030 (L00,#01)
STORE G2b,L03
JUMP L0007
L0002: STORE G2f,G43
CALL_1S R0033 -> L03
JE L03,#01 [FALSE] L0003
JE G49,L00 [FALSE] L0003
CALL_VN R0030 (G49,#01)
L0003: JE L03,#02 [FALSE] L0004
JE G4a,L00 [FALSE] L0004
CALL_VN R0030 (G4a,#01)
L0004: JE L03,#03 [FALSE] L0005
JE G4b,L00 [FALSE] L0005
CALL_VN R0030 (G4b,#01)
L0005: JE L03,#04 [FALSE] L0006
JE G08,L00 [FALSE] L0006
CALL_VN R0030 (G08,#01)
L0006: DEC G2f
CALL_2N R0031 (L00)
L0007: GET_CHILD L00 -> -(SP) [FALSE] L0008
L0008: JZ (SP)+ [TRUE] L0009
JE L00,L01 [TRUE] L0009
CALL_2S R0024 (L00) -> -(SP)
JE (SP)+,#01 [FALSE] L0009
CALL_VN R0027 (L00,#00,L02)
L0009: GET_PROP_ADDR L00,#0c -> L04
JZ L04 [TRUE] L0013
LOADW L04,#00 -> -(SP)
CALL_VS R0045 ((SP)+,G14) -> -(SP)
JG (SP)+,#00 [FALSE] L0010
ADD #02,L02 -> G66
CALL_VN R0049 (L00,#0c)
STORE G66,#00
JUMP L0013
L0010: GET_PROP_ADDR L00,#0c -> Gef
JZ Gef [TRUE] L0011
GET_PROP_LEN Gef -> Gef
L0011: STORE L05,Gef
STORE L03,#00
L0012: MUL #02,L03 -> -(SP)
JL (SP)+,L05 [FALSE] L0013
LOADW L04,L03 -> -(SP)
CALL_VN R0028 ((SP)+,#00,L02)
INC L03
JUMP L0012
L0013: RTRUE
Routine R0029, 1 local
JL G66,#02 [TRUE] L0001
SUB G66,#02 -> -(SP)
CALL_VN R0028 (L00,#00,(SP)+)
L0001: JE G66,#01 [FALSE] L0002
CALL_2S R0070 (L00) -> -(SP)
JE (SP)+,#01 [FALSE] L0002
STORE G67,#01
L0002: RTRUE
Routine R0030, 3 locals
JZ G5c [TRUE] L0001
CALL_2S R0021 (L00) -> -(SP)
JZ (SP)+ [FALSE] L0001
RTRUE
L0001: JL L01,G42 [TRUE] RTRUE
JG L01,G42 [FALSE] L0002
STORE G42,L01
STORE G40,#00
JUMP L0004
L0002: MUL #02,G40 -> -(SP)
JL (SP)+,#80 [FALSE] RTRUE
STORE L02,#00
L0003: JL L02,G40 [FALSE] L0004
LOADW #3627,L02 -> -(SP)
JE (SP)+,L00 [TRUE] RTRUE
INC L02
JUMP L0003
L0004: PUSH G40
INC G40
STOREW #3627,(SP)+,L00
RTRUE
Routine R0031, 5 locals
JZ G4d [TRUE] L0001
LOADB #3421,#01 -> -(SP)
JG G2f,(SP)+ [FALSE] L0001
CALL_VN R0030 (L00,#00)
RFALSE
L0001: GET_PROP L00,#1f -> -(SP)
JZ (SP)+ [TRUE] L0007
STORE G44,#ffff
STORE L04,G2f
CALL_VS R0049 (L00,#1f) -> L02
JG L02,#00 [FALSE] L0006
ADD L04,L02 -> G2f
L0002: JE G44,#0105 [FALSE] L0005
JZ G51 [FALSE] L0003
JUMP L0015
L0003: JZ G4d [FALSE] L0004
STORE G4d,#01
STORE G4e,#00
STORE G4f,#00
L0004: OR G4e,#08 -> G4e
JZ G4f [FALSE] L0005
STORE G4f,#64
L0005: CALL_VN R0030 (L00,L02)
RFALSE
L0006: JZ L02 [FALSE] L0007
JUMP L0015
L0007: CALL_1S R0033 -> L03
JE L03,#01 [FALSE] L0008
JE L00,G49 [TRUE] L0011
L0008: JE L03,#02 [FALSE] L0009
JE L00,G4a [TRUE] L0011
L0009: JE L03,#03 [FALSE] L0010
JE L00,G4b [TRUE] L0011
L0010: JE L03,#04 [FALSE] L0012
JE L00,G08 [FALSE] L0012
L0011: CALL_VN R0030 (L00,#01)
RFALSE
L0012: DEC G2f
STORE L04,G2f
CALL_2S R0375 (L00) -> L01
JL L01,#00 [FALSE] L0013
INC G2f
L0013: JG L01,#00 [FALSE] L0014
STORE L02,L01
JUMP L0002
L0014: JZ L01 [TRUE] L0015
CALL_VS R0032 (L00,L03) -> -(SP)
JZ (SP)+ [FALSE] L0017
L0015: JZ G4d [TRUE] L0016
CALL_VN R0030 (L00,#00)
L0016: RFALSE
L0017: JL L01,#00 [FALSE] L0019
STORE L01,#01
L0018: CALL_1S R0037 -> -(SP)
CALL_VS R0032 (L00,(SP)+) -> -(SP)
JE #00,(SP)+ [TRUE] L0019
INC L01
JUMP L0018
L0019: CALL_VN R0030 (L00,L01)
RTRUE
Routine R0032, 5 locals
JZ L00 [TRUE] RFALSE
GET_PROP_ADDR L00,#01 -> L02
GET_PROP_ADDR L00,#01 -> Gef
JZ Gef [TRUE] L0001
GET_PROP_LEN Gef -> Gef
L0001: PUSH Gef
DIV (SP)+,#02 -> -(SP)
SUB (SP)+,#01 -> L03
STORE L04,#00
L0002: JG L04,L03 [TRUE] L0003
LOADW L02,L04 -> -(SP)
JE L01,(SP)+ [TRUE] RTRUE
INC L04
JUMP L0002
L0003: RFALSE
Routine R0033, 1 local
CALL_1S R0037 -> L00
JE L00,"it","them" [FALSE] L0001
RTRUE
L0001: JE L00,"him" [FALSE] L0002
RET #02
L0002: JE L00,"her" [FALSE] L0003
RET #03
L0003: JE L00,S023 OR "me","myself","self" [FALSE] L0004
RET #04
L0004: JZ L00 [TRUE] RFALSE
LOADB L00,#06 -> -(SP)
AND (SP)+,#80 -> -(SP)
JZ (SP)+ [TRUE] RFALSE
RET L00
Routine R0034, 2 locals
CALL_1S R0037 -> L01
JZ L01 [TRUE] RFALSE
LOADB L01,#06 -> L00
AND L00,#08 -> -(SP)
JZ (SP)+ [TRUE] RFALSE
LOADB L01,#08 -> -(SP)
RET_POPPED
Routine R0035, 2 locals
STORE L01,#400c
L0001: LOADW L01,#01 -> -(SP)
JE L00,(SP)+ [FALSE] L0002
LOADW L01,#00 -> -(SP)
RET_POPPED
L0002: ADD L01,#04 -> L01
JUMP L0001
orphan code fragment:
STORE L01,#400c
CALL_2N R0083 (#01)
RET L01
Routine R0037, 3 locals
LOADB #3421,#01 -> -(SP)
JG G2f,(SP)+ [FALSE] L0001
INC G2f
RFALSE
L0001: MUL G2f,#02 -> -(SP)
SUB (SP)+,#01 -> L00
INC G2f
LOADW #3421,L00 -> L01
JZ L01 [FALSE] L0003
MUL G2f,#04 -> -(SP)
SUB (SP)+,#03 -> L02
LOADB #3421,L02 -> -(SP)
LOADB #33a8,(SP)+ -> L00
JE L00,#2c [FALSE] L0002
STORE L01,"xcomma"
L0002: JE L00,#2e [FALSE] L0003
STORE L01,"then"
L0003: RET L01
Routine R0038, 0 locals
LOADB #3421,#01 -> -(SP)
JG G2f,(SP)+ [FALSE] L0001
INC G2f
RET #ffff
L0001: CALL_1S R0037 -> -(SP)
RET_POPPED
Routine R0039, 1 local
MUL L00,#04 -> -(SP)
ADD (SP)+,#01 -> -(SP)
LOADB #3421,(SP)+ -> -(SP)
ADD #33a8,(SP)+ -> -(SP)
RET_POPPED
Routine R0040, 1 local
MUL L00,#04 -> -(SP)
LOADB #3421,(SP)+ -> -(SP)
RET_POPPED
Routine R0041, 10 locals
STORE L01,G2f
STORE G2f,L00
CALL_1S R0037 -> L02
STORE G2f,L01
CALL_2S R0006 (L02) -> L02
JL L02,#01 [TRUE] L0001
RET L02
L0001: MUL L00,#04 -> -(SP)
ADD (SP)+,#01 -> L01
LOADB #3421,L01 -> L02
ADD L02,#33a8 -> L04
SUB L01,#01 -> -(SP)
LOADB #3421,(SP)+ -> L05
CALL_VS R0373 (L04,L05) -> L07
JZ L07 [TRUE] L0002
RET L07
L0002: JL L05,#04 [TRUE] L0003
STORE L06,#03e8
L0003: JE L05,#03 [FALSE] L0004
STORE L06,#64
L0004: JE L05,#02 [FALSE] L0005
STORE L06,#0a
L0005: JE L05,#01 [FALSE] L0006
STORE L06,#01
L0006: STORE L07,#00
STORE L03,#00
SUB L05,#01 -> L05
STORE L03,#00
L0007: JG L03,L05 [TRUE] L0019
LOADB L04,L03 -> L09
JE L09,#30 [FALSE] L0008
STORE L08,#00
JUMP L0018
L0008: JE L09,#31 [FALSE] L0009
STORE L08,#01
JUMP L0018
L0009: JE L09,#32 [FALSE] L0010
STORE L08,#02
JUMP L0018
L0010: JE L09,#33 [FALSE] L0011
STORE L08,#03
JUMP L0018
L0011: JE L09,#34 [FALSE] L0012
STORE L08,#04
JUMP L0018
L0012: JE L09,#35 [FALSE] L0013
STORE L08,#05
JUMP L0018
L0013: JE L09,#36 [FALSE] L0014
STORE L08,#06
JUMP L0018
L0014: JE L09,#37 [FALSE] L0015
STORE L08,#07
JUMP L0018
L0015: JE L09,#38 [FALSE] L0016
STORE L08,#08
JUMP L0018
L0016: JE L09,#39 [FALSE] L0017
STORE L08,#09
JUMP L0018
L0017: RET #fc18
L0018: MUL L06,L08 -> -(SP)
ADD L07,(SP)+ -> L07
DIV L06,#0a -> L06
INC L03
JUMP L0007
L0019: JG L05,#03 [FALSE] L0020
STORE L07,#2710
L0020: RET L07
Routine R0042, 1 local
TEST_ATTR L00,#00 [FALSE] L0003
JE L00,G08 [TRUE] L0003
CALL_2S R0043 (L00) -> -(SP)
JE (SP)+,#01 [FALSE] L0001
STORE G4a,L00
JUMP L0002
L0001: STORE G4b,L00
L0002: JUMP L0004
L0003: STORE G49,L00
L0004: RTRUE
Routine R0043, 1 local
TEST_ATTR L00,#07 [FALSE] RTRUE
RFALSE
Routine R0044, 4 locals
LOADB L00,#00 -> L03
STORE L02,#01
L0001: JG L02,L03 [TRUE] L0002
LOADB L01,L02 -> -(SP)
STOREB L00,L02,(SP)+
INC L02
JUMP L0001
L0002: RTRUE
Routine R0045, 4 locals
JE L00,L01 [FALSE] L0001
RFALSE
L0001: JL L00,#00 [FALSE] L0002
JL L01,#00 [TRUE] L0002
RTRUE
L0002: JL L00,#00 [TRUE] L0003
JL L01,#00 [FALSE] L0003
RET #ffff
L0003: AND L00,#7fff -> L02
AND L01,#7fff -> L03
JG L02,L03 [FALSE] L0004
RTRUE
L0004: RET #ffff
Routine R0046, 1 local
JZ L00 [FALSE] L0001
RFALSE
L0001: JL L00,#01 [TRUE] L0002
JG L00,G14 [TRUE] L0002
RTRUE
L0002: CALL_VS R0045 (L00,S001 OR "lubricate") -> -(SP)
JL (SP)+,#00 [TRUE] L0003
RET #03
L0003: CALL_VS R0045 (L00,#1667) -> -(SP)
JL (SP)+,#00 [TRUE] L0004
RET #02
L0004: RFALSE
Routine R0047, 4 locals
CALL_VS R0382 (L00,L01) -> -(SP)
JG (SP)+,#02 [FALSE] L0001
CALL_VS R0049 (L00,L01) -> -(SP)
RET_POPPED
L0001: CALL_VS R0377 (L00,L01) -> -(SP)
JE (SP)+,#ffff [TRUE] RFALSE
CALL_VS R0377 (L00,L01) -> -(SP)
CALL_2S R0046 ((SP)+) -> L03
JE L03,#00,#01 [FALSE] L0002
CALL_VS R0083 (#02,L00,L01) -> -(SP)
RET_POPPED
L0002: JE L03,#03 [FALSE] L0004
CALL_VS R0377 (L00,L01) -> -(SP)
PRINT_PADDR (SP)+
JZ L02 [FALSE] L0003
NEW_LINE
L0003: RTRUE
L0004: CALL_VS R0049 (L00,L01) -> -(SP)
RET_POPPED
Routine R0048, 3 locals
CALL_VS R0377 (L00,L01) -> -(SP)
CALL_2S R0046 ((SP)+) -> L02
JE L02,#02 [FALSE] L0001
CALL_VS R0049 (L00,L01) -> -(SP)
RET_POPPED
L0001: CALL_VS R0377 (L00,L01) -> -(SP)
RET_POPPED
Routine R0049, 8 locals
JE L00,#13 [FALSE] L0001
JE L01,#13 [TRUE] L0001
STORE L00,G0a
L0001: CALL_VS R0377 (L00,L01) -> -(SP)
JE (SP)+,#ffff,#00 [TRUE] RFALSE
CALL_VS R0381 (L00,L01) -> L03
CALL_VS R0382 (L00,L01) -> L04
STORE L06,Geb
STORE Geb,L00
STORE L07,Ge9
JE L01,#06 [FALSE] L0002
STORE Ge9,G27
JUMP L0003
L0002: STORE Ge9,G19
L0003: STORE L02,#00
L0004: DIV L04,#02 -> -(SP)
JL L02,(SP)+ [FALSE] L0010
LOADW L03,L02 -> -(SP)
JE (SP)+,#ffff [FALSE] L0005
STORE Geb,L06
STORE Ge9,L07
RFALSE
L0005: LOADW L03,L02 -> -(SP)
CALL_2S R0046 ((SP)+) -> L05
JE L05,#02 [FALSE] L0007
LOADW L03,L02 -> -(SP)
CALL_1S (SP)+ -> L05
JZ L05 [TRUE] L0006
STORE Geb,L06
STORE Ge9,L07
RET L05
L0006: JUMP L0009
L0007: JE L05,#03 [FALSE] L0008
LOADW L03,L02 -> -(SP)
PRINT_ADDR (SP)+
NEW_LINE
JUMP L0009
L0008: CALL_VN R0083 (#03,L00,L01)
L0009: INC L02
JUMP L0004
L0010: STORE Geb,L06
STORE Ge9,L07
RFALSE
Routine R0050, 0 locals
JE G03,#ffff [FALSE] L0001
STORE G01,G06
STORE G02,G07
JUMP L0002
L0001: DIV G03,#3c -> G01
MOD G03,#3c -> G02
L0002: RTRUE
Routine R0051, 2 locals
STORE G03,L00
STORE G04,L01
STORE G05,#00
JL L01,#00 [FALSE] L0001
SUB #00,L01 -> G05
L0001: RTRUE
Routine R0052, 1 local
PRINT "
[Your score has just gone "
JG G0e,G06 [FALSE] L0001
SUB G0e,G06 -> L00
PRINT "down"
JUMP L0002
L0001: SUB G06,G0e -> L00
PRINT "up"
L0002: PRINT " by "
CALL_2N R0084 (L00)
PRINT " point"
JG L00,#01 [FALSE] L0003
PRINT "s"
L0003: PRINT ".]
"
RTRUE
Routine R0053, 4 locals
LOADW #32,#00 -> G15
STORE G08,#14
SUB #020d,#ff -> G14
PUT_PROP "yourself",#1d,#07
STORE Geb,#05
STORE Gea,#05
CALL_1S R0329 -> L01
STORE G0e,G06
INSERT_OBJ G08,G00
L0001: GET_PARENT G00 -> -(SP)
JZ (SP)+ [TRUE] L0002
GET_PARENT G00 -> G00
JUMP L0001
L0002: GET_CHILD G08 -> -(SP) [FALSE] L0003
L0003: PULL L00
JZ L00 [TRUE] L0005
L0004: SET_ATTR L00,#0c
CLEAR_ATTR L00,#02
GET_SIBLING L00 -> L00 [TRUE] L0004
L0005: JE L01,#02 [TRUE] L0006
CALL_1N R0081
L0006: GET_PARENT G08 -> -(SP)
CALL_2S R0069 ((SP)+) -> G09
JZ G09 [FALSE] L0007
STORE G0a,G00
STORE G00,#13
L0007: CALL_2N R0059 (#07)
STORE L00,#01
L0008: JG L00,#64 [TRUE] L0009
RANDOM L00 -> L01
INC L00
JUMP L0008
L0009: JZ G0c [FALSE] L0035
STORE Geb,#05
STORE Gea,#05
JE G06,G0e [TRUE] L0011
JE G0f,#01 [FALSE] L0010
CALL_1N R0052
L0010: STORE G0e,G06
L0011: STOREW #3462,#00,#00
STOREW #3462,#01,#00
STOREW #3462,#02,#00
STOREW #3462,#03,#00
STORE G26,#00
CALL_2N R0005 (#3462)
STORE G1e,#00
STORE G1f,#00
STORE G19,#00
STORE G23,#00
STORE G25,G24
STORE G24,#00
LOADW #3462,#00 -> G19
JE G19,#08,#09 [FALSE] L0013
LOADW #3462,#02 -> L00
LOADW #3462,#03 -> -(SP)
STOREW #3462,#02,(SP)+
STOREW #3462,#03,L00
JE G19,#08 [FALSE] L0012
STORE G19,#0a
JUMP L0013
L0012: STORE G19,#0b
L0013: JE G19,#05 [FALSE] L0014
LOADW #3462,#02 -> -(SP)
JE (SP)+,G08 [FALSE] L0014
JE G17,G08 [TRUE] L0014
STOREW #3462,#02,G17
STORE G17,G08
STORE G19,#03
L0014: JE G19,#04 [FALSE] L0015
LOADW #3462,#02 -> -(SP)
JE (SP)+,G08 [TRUE] L0015
JE G17,G08 [FALSE] L0015
LOADW #3462,#02 -> G17
LOADW #3462,#03 -> -(SP)
STOREW #3462,#02,(SP)+
STOREW #3462,#03,G08
STORE G19,#0a
L0015: JE G19,#03,#05,#02 [FALSE] L0016
STORE G20,G1c
L0016: STORE G1a,#00
STORE G1b,#00
LOADW #3462,#01 -> L00
JL L00,#01 [TRUE] L0017
LOADW #3462,#02 -> G1a
L0017: JL L00,#02 [TRUE] L0018
LOADW #3462,#03 -> G1b
L0018: STORE G1e,G1a
STORE G1f,G1b
JE G1a,#01 [FALSE] L0019
STORE G1e,G1c
L0019: JE G1b,#01 [FALSE] L0021
JE G1a,#01 [FALSE] L0020
STORE G1f,G1d
JUMP L0021
L0020: STORE G1f,G1c
L0021: JE G17,G08 [TRUE] L0024
CALL_VS R0049 (G08,#12) -> L01
JZ L01 [FALSE] L0023
CALL_VS R0049 (G17,#12) -> L01
JZ L01 [FALSE] L0023
JE G19,#0108 [FALSE] L0022
STOREW #3462,#03,G17
STORE G17,G08
STORE G19,#02
JUMP L0016
L0022: CALL_VS R0060 (G17,#0103) -> -(SP)
JZ (SP)+ [FALSE] L0023
CALL_VN R0205 (#0103,#01,G17)
L0023: JUMP L0032
L0024: JZ L00 [TRUE] L0025
JZ G1a [TRUE] L0026
L0025: CALL_1N R0054
JUMP L0032
L0026: STORE G23,#01
LOADW #3482,#00 -> L01
JZ L01 [FALSE] L0027
CALL_VN R0205 (#0106,#02)
JUMP L0011
L0027: JE G16,#01 [FALSE] L0028
STORE G16,#00
CALL_VN R0205 (#0106,#01)
L0028: STORE L00,G00
STORE L02,#01
L0029: JG L02,L01 [TRUE] L0032
JZ G0c [TRUE] L0030
JUMP L0032
L0030: JE G00,L00 [TRUE] L0031
PRINT "(Since something dramatic has happened, your list of
commands has been cut short.)
"
JUMP L0032
L0031: LOADW #3482,L02 -> L03
CALL_2N R0042 (L03)
CALL_2N R0079 (L03)
PRINT ": "
STORE G1a,L03
STORE G1e,L03
CALL_1N R0054
STORE G1a,#00
STORE G1e,#00
INC L02
JUMP L0029
L0032: JE G24,#01 [FALSE] L0033
STORE G26,#01
L0033: JZ G0c [FALSE] L0034
JZ G26 [FALSE] L0034
CALL_1N R0067
L0034: JUMP L0009
L0035: JE G0c,#02 [TRUE] L0036
CALL_1N R0356
L0036: JZ G0c [FALSE] L0037
JUMP L0011
L0037: PRINT "
"
SET_TEXT_STYLE BOLDFACE
PRINT "***"
JE G0c,#01 [FALSE] L0038
CALL_VN R0205 (#0106,#03)
L0038: JE G0c,#02 [FALSE] L0039
CALL_VN R0205 (#0106,#04)
L0039: JG G0c,#02 [FALSE] L0040
PRINT " "
CALL_1N R0361
PRINT " "
L0040: PRINT "***"
SET_TEXT_STYLE ROMAN
PRINT "
"
CALL_1N R0110
CALL_1N R0050
L0041: CALL_VN R0205 (#0106,#05)
L0042: PRINT "> "
STORE Gef,#00
STORE Gec,#33a8
STOREB Gec,#01,#00
CALL_1N R0003
READ Gec,#3421 -> Gef
LOADW #3421,#01 -> L00
JE L00,"quit","q" [FALSE] L0043
QUIT
L0043: JE L00,"restart" [FALSE] L0044
RESTART
L0044: JE L00,S108 OR "restore" [FALSE] L0045
CALL_1N R0101
JUMP L0041
L0045: JE L00,"fullscore","full" [FALSE] L0046
JZ #0001 [FALSE] L0046
NEW_LINE
CALL_1N R0113
JUMP L0041
L0046: JE G0c,#02 [FALSE] L0047
JE L00,"amusing" [FALSE] L0047
JZ #01 [TRUE] L0047
NEW_LINE
CALL_1N R0335
JUMP L0041
L0047: JE L00,"undo" [FALSE] L0052
JZ G2a [FALSE] L0048
CALL_VN R0205 (#0106,#06)
JUMP L0041
L0048: JE G2a,#01 [FALSE] L0049
JUMP L0050
L0049: RESTORE_UNDO -> L00
JZ L00 [FALSE] L0051
L0050: CALL_VN R0205 (#0106,#07)
L0051: JUMP L0041
L0052: CALL_VN R0205 (#0106,#08)
JUMP L0042
Routine R0054, 0 locals
JE G26,#01 [TRUE] L0001
CALL_1S R0057 -> -(SP)
JZ (SP)+ [FALSE] L0002
L0001: LOADW #3f16,G19 -> -(SP)
CALL_1N (SP)+
L0002: RTRUE
Routine R0055, 7 locals
STORE L05,G45
STORE L06,G46
STORE G45,L00
STORE G46,#00
STORE L02,G17
STORE L03,G18
STORE L04,G62
STORE G62,#06
JZ L01 [FALSE] L0001
STORE G17,G08
JUMP L0002
L0001: STORE G17,L01
L0002: STORE G18,G17
L0003: GET_PARENT G18 -> -(SP)
JZ (SP)+ [TRUE] L0004
GET_PARENT G18 -> G18
JUMP L0003
L0004: CALL_VN R0023 (G00,G08,#00)
STORE G62,L04
STORE G17,L02
STORE G18,L03
STORE G45,L05
STORE L05,G46
STORE G46,L06
RET L05
Routine R0056, 6 locals
STORE L02,G45
STORE L03,G62
STORE L04,G17
STORE L05,G18
STORE G45,L00
JZ L01 [FALSE] L0001
STORE G17,G08
JUMP L0002
L0001: STORE G17,L01
L0002: STORE G18,G17
L0003: GET_PARENT G18 -> -(SP)
JZ (SP)+ [TRUE] L0004
GET_PARENT G18 -> G18
JUMP L0003
L0004: STORE G62,#05
CALL_VN R0023 (G18,G17,#00)
STORE G45,L02
STORE G62,L03
STORE G17,L04
STORE G18,L05
RTRUE
Routine R0057, 0 locals
CALL_1S R0364 -> -(SP)
JZ (SP)+ [FALSE] RTRUE
CALL_VS R0049 (G08,#12) -> -(SP)
JZ (SP)+ [FALSE] RTRUE
JZ G00 [TRUE] L0001
CALL_VS R0049 (G00,#04) -> -(SP)
JZ (SP)+ [FALSE] RTRUE
L0001: STORE G62,#03
STORE G45,#00
CALL_VN R0023 (G00,G08,#00)
STORE G62,#00
JZ G45 [FALSE] RTRUE
JG G1a,#01 [FALSE] L0002
CALL_VS R0049 (G1a,#04) -> -(SP)
JZ (SP)+ [FALSE] RTRUE
L0002: RFALSE
Routine R0058, 0 locals
STORE G62,#04
STORE G45,#00
CALL_VN R0023 (G00,G08,#00)
STORE G62,#00
JZ G45 [FALSE] RTRUE
JZ G00 [TRUE] L0001
CALL_VS R0049 (G00,#05) -> -(SP)
JZ (SP)+ [FALSE] RTRUE
L0001: JG G1a,#01 [FALSE] L0002
CALL_VS R0049 (G1a,#05) -> -(SP)
JZ (SP)+ [FALSE] RTRUE
L0002: CALL_1S R0365 -> -(SP)
RET_POPPED
Routine R0059, 7 locals
STORE L03,G1a
STORE L04,G1b
STORE L05,G19
STORE L06,Geb
STORE G1a,L01
STORE G1b,L02
STORE G1e,L01
STORE G1f,L02
STORE G19,L00
JE G26,#01 [TRUE] L0001
CALL_1S R0057 -> -(SP)
JZ (SP)+ [FALSE] L0002
L0001: JL G19,#0100 [FALSE] L0002
LOADW #3f16,G19 -> -(SP)
CALL_1N (SP)+
STORE Geb,L06
STORE G1a,L03
STORE G1e,L03
STORE G1b,L04
STORE G1f,L04
STORE G19,L05
RFALSE
L0002: STORE Geb,L06
STORE G1a,L03
STORE G1e,L03
STORE G1b,L04
STORE G1f,L04
STORE G19,L05
RTRUE
Routine R0060, 2 locals
STORE G27,L01
CALL_VS R0049 (L00,#06) -> -(SP)
RET_POPPED
Routine R0061, 7 locals
INC G6c
L0001: STORE G6f,#00
CALL_1S L01 -> L03
STORE L04,G6e
PRINT "--- "
PRINT_PADDR L04
PRINT " ---
"
CALL_2S R0046 (L00) -> -(SP)
JE (SP)+,#03 [FALSE] L0002
PRINT_PADDR L00
JUMP L0003
L0002: CALL_1N L00
L0003: PRINT "
Type a number from 1 to "
PRINT_NUM L03
PRINT ", 0 to redisplay or press ENTER.
> "
STORE Gef,#00
STORE Gec,#33a8
STOREB Gec,#01,#00
CALL_1N R0003
READ Gec,#3421 -> Gef
LOADW #3421,#01 -> L05
JE L05,"quit","q" [TRUE] L0004
LOADB #3421,#01 -> -(SP)
JZ (SP)+ [FALSE] L0006
L0004: DEC G6c
JG G6c,#00 [TRUE] RFALSE
JZ G0c [FALSE] L0005
CALL_2N R0059 (#07)
RTRUE
L0005: RFALSE
L0006: CALL_2S R0041 (#01) -> L05
JZ L05 [FALSE] L0007
JUMP L0001
L0007: JL L05,#01 [TRUE] L0008
JG L05,L03 [FALSE] L0009
L0008: JUMP L0003
L0009: STORE G6f,L05
CALL_1S L02 -> L06
JE L06,#02 [FALSE] L0010
JUMP L0001
L0010: JE L06,#03 [TRUE] RFALSE
JUMP L0003
Routine R0062, 11 locals
JZ G6b [FALSE] L0001
CALL_VN R0061 (L00,L01,L02)
RFALSE
L0001: INC G6c
STORE G6f,#00
CALL_1S L01 -> L03
STORE L04,G6e
STORE L05,G6d
STORE L06,#07
L0002: STORE L09,#00
ERASE_WINDOW #ffff
ADD L03,#07 -> L07
SPLIT_WINDOW L07
LOADB #00,#21 -> L07
JZ L07 [FALSE] L0003
STORE L07,#50
L0003: SET_WINDOW #01
SET_CURSOR #01,#01
SET_TEXT_STYLE REVERSE
STORE Gef,L07
JL Gef,#00 [TRUE] L0005
L0004: PRINT_CHAR ' '
DEC Gef
JZ Gef [FALSE] L0004
L0005: DIV L07,#02 -> -(SP)
SUB (SP)+,L05 -> L08
SET_CURSOR #01,L08
PRINT_PADDR L04
SET_CURSOR #02,#01
STORE Gef,L07
JL Gef,#00 [TRUE] L0007
L0006: PRINT_CHAR ' '
DEC Gef
JZ Gef [FALSE] L0006
L0007: SET_CURSOR #02,#02
PRINT "N = next subject"
SUB L07,#0c -> L08
SET_CURSOR #02,L08
PRINT "P = previous"
SET_CURSOR #03,#01
STORE Gef,L07
JL Gef,#00 [TRUE] L0009
L0008: PRINT_CHAR ' '
DEC Gef
JZ Gef [FALSE] L0008
L0009: SET_CURSOR #03,#02
PRINT "RETURN = read subject"
SUB L07,#11 -> L08
SET_CURSOR #03,L08
JE G6c,#01 [FALSE] L0010
PRINT " Q = resume game"
JUMP L0011
L0010: PRINT "Q = previous menu"
L0011: SET_TEXT_STYLE ROMAN
SET_CURSOR #05,#02
LOADW #00,#08 -> Gef
OR #02,Gef -> Gef
STOREW #00,#08,Gef
CALL_2S R0046 (L00) -> -(SP)
JE (SP)+,#03 [FALSE] L0012
PRINT_PADDR L00
JUMP L0013
L0012: CALL_1N L00
L0013: JE L06,L09 [TRUE] L0015
JG L09,#00 [FALSE] L0014
SET_CURSOR L09,#04
PRINT " "
L0014: SET_CURSOR L06,#04
PRINT ">"
L0015: STORE L09,L06
READ_CHAR #01,#00,#00 -> L0a
JE L0a,#4e,#6e,#82 [FALSE] L0017
INC L06
ADD #07,L03 -> -(SP)
JE L06,(SP)+ [FALSE] L0016
STORE L06,#07
L0016: JUMP L0013
L0017: JE L0a,#50,#70,#81 [FALSE] L0019
DEC L06
JE L06,#06 [FALSE] L0018
ADD #06,L03 -> L06
L0018: JUMP L0013
L0019: JE L0a,#51,#71,#1b [TRUE] L0020
JE L0a,#83 [FALSE] L0021
L0020: JUMP L0028
L0021: JE L0a,#0a,#0d,#84 [FALSE] L0027
SET_WINDOW #00
LOADW #00,#08 -> Gef
AND #fffd,Gef -> Gef
STOREW #00,#08,Gef
NEW_LINE
NEW_LINE
NEW_LINE
SUB L06,#06 -> G6f
CALL_1N L01
ERASE_WINDOW #ffff
SPLIT_WINDOW #01
LOADB #00,#21 -> L07
JZ L07 [FALSE] L0022
STORE L07,#50
L0022: SET_WINDOW #01
SET_CURSOR #01,#01
SET_TEXT_STYLE REVERSE
STORE Gef,L07
JL Gef,#00 [TRUE] L0024
L0023: PRINT_CHAR ' '
DEC Gef
JZ Gef [FALSE] L0023
L0024: DIV L07,#02 -> -(SP)
SUB (SP)+,G6d -> L08
SET_CURSOR #01,L08
PRINT_PADDR G6e
SET_TEXT_STYLE ROMAN
SET_WINDOW #00
NEW_LINE
CALL_1S L02 -> L07
JE L07,#02 [FALSE] L0025
JUMP L0002
L0025: JE L07,#03 [FALSE] L0026
JUMP L0028
L0026: PRINT "
[Please press SPACE.]
"
READ_CHAR #01,#00,#00 -> L0a
JUMP L0002
L0027: JUMP L0013
L0028: DEC G6c
JG G6c,#00 [TRUE] RFALSE
LOADW #00,#08 -> Gef
AND #fffd,Gef -> Gef
STOREW #00,#08,Gef
SET_CURSOR #01,#01
ERASE_WINDOW #ffff
SET_WINDOW #00
NEW_LINE
NEW_LINE
NEW_LINE
JZ G0c [FALSE] L0029
CALL_2N R0059 (#07)
RTRUE
L0029: RTRUE
Routine R0063, 3 locals
STORE L02,#00
L0001: JL L02,G70 [FALSE] L0004
LOADW #3328,L02 -> -(SP)
JE (SP)+,L00 [FALSE] L0003
LOADB #3368,L02 -> -(SP)
JE (SP)+,#02 [FALSE] L0002
CALL_VN R0083 (#06,L00)
L0002: RFALSE
L0003: INC L02
JUMP L0001
L0004: STORE L02,#00
L0005: JL L02,G70 [FALSE] L0007
LOADW #3328,L02 -> -(SP)
JZ (SP)+ [FALSE] L0006
JUMP L0008
L0006: INC L02
JUMP L0005
L0007: STORE L02,G70
INC G70
MUL L02,#02 -> -(SP)
JL (SP)+,#40 [TRUE] L0008
CALL_2N R0083 (#04)
L0008: GET_PROP_ADDR L00,#19 -> -(SP)
JZ (SP)+ [FALSE] L0009
CALL_VN R0083 (#05,L00)
L0009: STOREW #3328,L02,L00
STOREB #3368,L02,#01
PUT_PROP L00,#19,L01
RTRUE
Routine R0064, 2 locals
STORE L01,#00
L0001: JL L01,G70 [FALSE] L0003
LOADW #3328,L01 -> -(SP)
JE (SP)+,L00 [FALSE] L0002
JUMP L0004
L0002: INC L01
JUMP L0001
L0003: RFALSE
L0004: GET_PROP_ADDR L00,#19 -> -(SP)
JZ (SP)+ [FALSE] L0005
CALL_VN R0083 (#05,L00)
L0005: STOREW #3328,L01,#00
PUT_PROP L00,#19,#00
RTRUE
Routine R0065, 2 locals
STORE L01,#00
L0001: JL L01,G70 [FALSE] L0004
LOADW #3328,L01 -> -(SP)
JE (SP)+,L00 [FALSE] L0003
LOADB #3368,L01 -> -(SP)
JE (SP)+,#01 [FALSE] L0002
CALL_VN R0083 (#06,L00)
L0002: RFALSE
L0003: INC L01
JUMP L0001
L0004: STORE L01,#00
L0005: JL L01,G70 [FALSE] L0007
LOADW #3328,L01 -> -(SP)
JZ (SP)+ [FALSE] L0006
JUMP L0008
L0006: INC L01
JUMP L0005
L0007: STORE L01,G70
INC G70
MUL L01,#02 -> -(SP)
JL (SP)+,#40 [TRUE] L0008
CALL_2N R0083 (#04)
L0008: STOREW #3328,L01,L00
STOREB #3368,L01,#02
RTRUE
Routine R0066, 2 locals
STORE L01,#00
L0001: JL L01,G70 [FALSE] L0003
LOADW #3328,L01 -> -(SP)
JE (SP)+,L00 [FALSE] L0002
JUMP L0004
L0002: INC L01
JUMP L0001
L0003: RFALSE
L0004: STOREW #3328,L01,#00
RTRUE
Routine R0067, 2 locals
INC G07
JE G03,#ffff [TRUE] L0003
JL G04,#00 [TRUE] L0001
ADD G03,G04 -> G03
JUMP L0002
L0001: DEC G05
JZ G05 [FALSE] L0002
INC G03
SUB #00,G04 -> G05
L0002: MOD G03,#05a0 -> G03
L0003: STORE L00,#00
L0004: JZ G0c [FALSE] L0008
JL L00,G70 [FALSE] L0008
LOADW #3328,L00 -> L01
JZ L01 [TRUE] L0007
LOADB #3368,L00 -> -(SP)
JE (SP)+,#02 [FALSE] L0005
CALL_VN R0049 (L01,#1b)
JUMP L0007
L0005: GET_PROP L01,#19 -> -(SP)
JZ (SP)+ [FALSE] L0006
CALL_2N R0064 (L01)
CALL_VN R0049 (L01,#1b)
JUMP L0007
L0006: GET_PROP L01,#19 -> -(SP)
SUB (SP)+,#01 -> -(SP)
PUT_PROP L01,#19,(SP)+
L0007: INC L00
JUMP L0004
L0008: JZ G0c [FALSE] L0009
STORE G62,#02
STORE G31,#00
CALL_2N R0026 (G00)
CALL_VN R0023 (G00,G08,#00)
STORE G62,#00
L0009: JZ G0c [FALSE] L0010
CALL_1N R0360
L0010: JZ G0c [FALSE] L0014
CALL_1N R0068
GET_CHILD G08 -> -(SP) [FALSE] L0011
L0011: PULL L00
JZ L00 [TRUE] L0014
L0012: TEST_ATTR L00,#0c [TRUE] L0013
SET_ATTR L00,#0c
TEST_ATTR L00,#12 [FALSE] L0013
ADD G06,#0004 -> G06
ADD G11,#0004 -> G11
L0013: GET_SIBLING L00 -> L00 [TRUE] L0012
L0014: RTRUE
Routine R0068, 2 locals
STORE L01,G09
GET_PARENT G08 -> -(SP)
CALL_2S R0069 ((SP)+) -> G09
JZ L01 [FALSE] L0001
JE G09,#01 [FALSE] L0001
STORE G00,G0a
JZ L00 [FALSE] L0001
CALL_2N R0059 (#07)
L0001: JE L01,#01 [FALSE] L0002
JZ G09 [FALSE] L0002
STORE G0a,G00
STORE G00,#13
JZ L00 [FALSE] L0002
CALL_1N R0142
CALL_VS R0205 (#0106,#09) -> -(SP)
RET_POPPED
L0002: JZ L01 [FALSE] L0003
JZ G09 [FALSE] L0003
STORE G00,#13
L0003: RTRUE
Routine R0069, 2 locals
JZ L00 [TRUE] RFALSE
TEST_ATTR L00,#09 [TRUE] RTRUE
GET_CHILD L00 -> -(SP) [FALSE] L0001
L0001: PULL L01
JZ L01 [TRUE] L0003
L0002: CALL_2S R0070 (L01) -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
GET_SIBLING L01 -> L01 [TRUE] L0002
L0003: TEST_ATTR L00,#06 [TRUE] L0004
CALL_2S R0024 (L00) -> -(SP)
JE (SP)+,#01 [FALSE] L0005
L0004: GET_PARENT L00 -> -(SP)
CALL_2S R0069 ((SP)+) -> -(SP)
RET_POPPED
L0005: RFALSE
Routine R0070, 3 locals
JZ L00 [TRUE] RFALSE
TEST_ATTR L00,#09 [TRUE] RTRUE
TEST_ATTR L00,#06 [TRUE] L0001
CALL_2S R0024 (L00) -> -(SP)
JE (SP)+,#01 [FALSE] L0004
L0001: GET_CHILD L00 -> -(SP) [FALSE] L0002
L0002: PULL L00
JZ L00 [TRUE] L0004
L0003: CALL_2S R0070 (L00) -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
GET_SIBLING L00 -> L00 [TRUE] L0003
L0004: GET_PROP_ADDR L00,#0c -> L02
GET_PARENT L00 -> -(SP)
JZ (SP)+ [TRUE] L0008
JZ L02 [TRUE] L0008
LOADW L02,#00 -> -(SP)
JG (SP)+,G14 [FALSE] L0005
STORE G67,#00
STORE G66,#01
CALL_VN R0049 (L00,#0c)
STORE G66,#00
JE G67,#01 [TRUE] RTRUE
JUMP L0008
L0005: STORE L01,#00
L0006: GET_PROP_ADDR L00,#0c -> Gef
JZ Gef [TRUE] L0007
GET_PROP_LEN Gef -> Gef
L0007: PUSH Gef
MUL #02,L01 -> -(SP)
JL (SP)+,(SP)+ [FALSE] L0008
LOADW L02,L01 -> -(SP)
CALL_2S R0070 ((SP)+) -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
INC L01
JUMP L0006
L0008: RFALSE
Routine R0071, 1 local
JZ L00 [FALSE] L0001
PRINT "is unset"
JUMP L0002
L0001: PRINT "means "
CALL_2N R0077 (L00)
L0002: RTRUE
Routine R0072, 0 locals
Action routine for:
"nouns"
PRINT "At the moment, "it" "
CALL_2N R0071 (G49)
PRINT ", "him" "
CALL_2N R0071 (G4a)
JE G08,#14 [FALSE] L0001
PRINT " and"
JUMP L0002
L0001: PRINT ","
L0002: PRINT " "her" "
CALL_2N R0071 (G4b)
JE G08,#14 [FALSE] L0003
PRINT_RET "."
L0003: PRINT " and "me" means "
PRINT_OBJ G08
PRINT_RET "."
Routine R0073, 3 locals
GET_PROP_ADDR L00,#1a -> -(SP)
JZ (SP)+ [FALSE] L0001
CALL_VS R0083 (#07,L00) -> -(SP)
RET_POPPED
L0001: JE G17,G08 [FALSE] L0002
STORE G17,L00
L0002: CLEAR_ATTR G08,#17
CLEAR_ATTR G08,#02
STORE L02,L00
L0003: GET_PARENT L02 -> -(SP)
JZ (SP)+ [TRUE] L0005
TEST_ATTR L02,#00 [FALSE] L0004
SET_ATTR L02,#17
L0004: GET_PARENT L02 -> L02
JUMP L0003
L0005: JE G08,#14 [FALSE] L0006
PUT_PROP G08,#1e,S023 OR "me"
L0006: PUT_PROP G08,#1a,G0a
STORE G08,L00
JE G08,#14 [FALSE] L0007
PUT_PROP G08,#1e,#ffff
L0007: SET_ATTR G08,#17
SET_ATTR G08,#02
SET_ATTR G08,#00
SET_ATTR G08,#10
STORE L02,G08
L0008: GET_PARENT L02 -> -(SP)
JZ (SP)+ [TRUE] L0009
GET_PARENT L02 -> L02
JUMP L0008
L0009: STORE G00,L02
GET_PROP G08,#1a -> G0a
JZ G0a [FALSE] L0010
STORE G0a,G00
L0010: GET_PARENT G08 -> -(SP)
CALL_2S R0069 ((SP)+) -> G09
JZ G09 [FALSE] L0011
STORE G00,#13
L0011: STORE G0b,L01
RTRUE
Routine R0074, 2 locals
SUB L00,#01 -> -(SP)
LOADW #00,#05 -> -(SP)
STOREW (SP)+,(SP)+,L01
RTRUE
Routine R0075, 1 local
LOADW L00,#00 -> -(SP)
JZ (SP)+ [FALSE] L0001
CALL_2S R0083 (#08) -> -(SP)
RET_POPPED
L0001: LOADW L00,#00 -> -(SP)
RANDOM (SP)+ -> -(SP)
LOADW L00,(SP)+ -> -(SP)
RET_POPPED
Routine R0076, 1 local
TEST_ATTR L00,#10 [TRUE] L0001
CALL_VN R0047 (L00,#16,#01)
PRINT " "
L0001: CALL_2N R0079 (L00)
RTRUE
Routine R0077, 1 local
TEST_ATTR L00,#10 [TRUE] L0001
PRINT "the "
L0001: CALL_2N R0079 (L00)
RTRUE
Routine R0078, 1 local
TEST_ATTR L00,#10 [TRUE] L0001
PRINT "The "
L0001: CALL_2N R0079 (L00)
RTRUE
Routine R0079, 1 local
JZ L00 [FALSE] L0001
PRINT "nothing"
RTRUE
L0001: JG L00,G14 [TRUE] L0002
JL L00,#00 [FALSE] L0005
L0002: CALL_2S R0046 (L00) -> -(SP)
PULL Gef
JE Gef,#02 [FALSE] L0003
PRINT "<routine "
PRINT_NUM L00
PRINT ">"
RTRUE
L0003: JE Gef,#03 [FALSE] L0004
PRINT "<string ""
PRINT_PADDR L00
PRINT "">"
RTRUE
L0004: PRINT "<illegal object number "
PRINT_NUM L00
PRINT ">"
RTRUE
L0005: JE L00,G08 [FALSE] L0006
PRINT "yourself"
RTRUE
L0006: GET_PROP_ADDR L00,#1e -> -(SP)
JZ (SP)+ [TRUE] L0007
CALL_VS R0047 (L00,#1e,#01) -> -(SP)
JZ (SP)+ [FALSE] RTRUE
L0007: PRINT_OBJ L00
RTRUE
Routine R0080, 1 local
STORE Gef,L00
JE Gef,#07 [FALSE] L0001
PRINT "north"
JUMP L0013
L0001: JE Gef,#08 [FALSE] L0002
PRINT "south"
JUMP L0013
L0002: JE Gef,#09 [FALSE] L0003
PRINT "east"
JUMP L0013
L0003: JE Gef,#0a [FALSE] L0004
PRINT "west"
JUMP L0013
L0004: JE Gef,#0b [FALSE] L0005
PRINT "northeast"
JUMP L0013
L0005: JE Gef,#0d [FALSE] L0006
PRINT "northwest"
JUMP L0013
L0006: JE Gef,#0c [FALSE] L0007
PRINT "southeast"
JUMP L0013
L0007: JE Gef,#0e [FALSE] L0008
PRINT "southwest"
JUMP L0013
L0008: JE Gef,#0f [FALSE] L0009
PRINT "up"
JUMP L0013
L0009: JE Gef,#10 [FALSE] L0010
PRINT "down"
JUMP L0013
L0010: JE Gef,#11 [FALSE] L0011
PRINT "in"
JUMP L0013
L0011: JE Gef,#12 [FALSE] L0012
PRINT "out"
JUMP L0013
L0012: CALL_VS R0083 (#09,L00) -> -(SP)
RET_POPPED
L0013: RTRUE
Routine R0081, 1 local
JZ #4c7d [TRUE] L0001
SET_TEXT_STYLE BOLDFACE
PRINT_PADDR S001
SET_TEXT_STYLE ROMAN
L0001: JZ #4c80 [TRUE] L0002
PRINT_PADDR S002
L0002: PRINT "Release "
LOADW #00,#01 -> -(SP)
AND (SP)+,#03ff -> -(SP)
PRINT_NUM (SP)+
PRINT " / Serial number "
STORE L00,#12
L0003: JL L00,#18 [FALSE] L0004
LOADB #00,L00 -> -(SP)
PRINT_CHAR (SP)+
INC L00
JUMP L0003
L0004: PRINT " / Inform v"
LOADB #00,#3c -> Gef
PRINT_CHAR Gef
LOADB #00,#3d -> Gef
PRINT_CHAR Gef
LOADB #00,#3e -> Gef
PRINT_CHAR Gef
LOADB #00,#3f -> Gef
PRINT_CHAR Gef
PRINT " Library "
PRINT_PADDR S004
NEW_LINE
JG G15,#00 [FALSE] L0005
PRINT "Standard interpreter "
DIV G15,#0100 -> -(SP)
PRINT_NUM (SP)+
PRINT "."
MOD G15,#0100 -> -(SP)
PRINT_NUM (SP)+
PRINT "
"
L0005: RTRUE
Routine R0082, 0 locals
Action routine for:
"version"
CALL_1N R0081
PRINT "Interpreter "
LOADB #00,#1e -> -(SP)
PRINT_NUM (SP)+
PRINT " Version "
LOADB #00,#1f -> -(SP)
PRINT_CHAR (SP)+
PRINT " / "
PRINT "Library serial number "
PRINT_PADDR S003
PRINT "
"
RTRUE
Routine R0083, 3 locals
PRINT "** Library error "
PRINT_NUM L00
PRINT " ("
PRINT_NUM L01
PRINT ","
PRINT_NUM L02
PRINT_RET ") **"
Routine R0084, 3 locals
JZ L00 [FALSE] L0001
PRINT "zero"
RFALSE
L0001: JL L00,#00 [FALSE] L0002
PRINT "minus "
SUB #00,L00 -> L00
L0002: JL L00,#03e8 [TRUE] L0003
DIV L00,#03e8 -> -(SP)
CALL_2N R0084 ((SP)+)
PRINT " thousand"
MOD L00,#03e8 -> L00
STORE L02,#01
L0003: JL L00,#64 [TRUE] L0005
JE L02,#01 [FALSE] L0004
PRINT ", "
L0004: DIV L00,#64 -> -(SP)
CALL_2N R0084 ((SP)+)
PRINT " hundred"
MOD L00,#64 -> L00
STORE L02,#01
L0005: JZ L00 [TRUE] RFALSE
JE L02,#01 [FALSE] L0006
PRINT " and "
L0006: JL L00,#0a [FALSE] L0007
CALL_2N R0085 (L00)
RFALSE
L0007: JL L00,#14 [TRUE] L0016
DIV L00,#0a -> L01
JE L01,#02 [FALSE] L0008
PRINT "twenty"
L0008: JE L01,#03 [FALSE] L0009
PRINT "thirty"
L0009: JE L01,#04 [FALSE] L0010
PRINT "forty"
L0010: JE L01,#05 [FALSE] L0011
PRINT "fifty"
L0011: JE L01,#06 [FALSE] L0012
PRINT "sixty"
L0012: JE L01,#07 [FALSE] L0013
PRINT "seventy"
L0013: JE L01,#08 [FALSE] L0014
PRINT "eighty"
L0014: JE L01,#09 [FALSE] L0015
PRINT "ninety"
L0015: MOD L00,#0a -> -(SP)
JZ (SP)+ [TRUE] RFALSE
PRINT "-"
MOD L00,#0a -> -(SP)
CALL_2N R0085 ((SP)+)
RFALSE
L0016: JE L00,#0a [FALSE] L0017
PRINT "ten"
RFALSE
L0017: JE L00,#0b [FALSE] L0018
PRINT "eleven"
RFALSE
L0018: JE L00,#0c [FALSE] L0019
PRINT "twelve"
RFALSE
L0019: JE L00,#0d [FALSE] L0020
PRINT "thirteen"
RFALSE
L0020: JE L00,#0e [FALSE] L0021
PRINT "fourteen"
RFALSE
L0021: JE L00,#0f [FALSE] L0022
PRINT "fifteen"
RFALSE
L0022: JE L00,#10 [FALSE] L0023
PRINT "sixteen"
RFALSE
L0023: JE L00,#11 [FALSE] L0024
PRINT "seventeen"
RFALSE
L0024: JE L00,#12 [FALSE] L0025
PRINT "eighteen"
RFALSE
L0025: PRINT "nineteen"
RTRUE
Routine R0085, 1 local
JE L00,#01 [FALSE] L0001
PRINT "one"
RFALSE
L0001: JE L00,#02 [FALSE] L0002
PRINT "two"
RFALSE
L0002: JE L00,#03 [FALSE] L0003
PRINT "three"
RFALSE
L0003: JE L00,#04 [FALSE] L0004
PRINT "four"
RFALSE
L0004: JE L00,#05 [FALSE] L0005
PRINT "five"
RFALSE
L0005: JE L00,#06 [FALSE] L0006
PRINT "six"
RFALSE
L0006: JE L00,#07 [FALSE] L0007
PRINT "seven"
RFALSE
L0007: JE L00,#08 [FALSE] L0008
PRINT "eight"
RFALSE
L0008: JE L00,#09 [FALSE] L0009
PRINT "nine"
RFALSE
L0009: RTRUE
Routine R0086, 2 locals
GET_SIBLING L00 -> L00 [FALSE] L0001
L0001: JZ G73 [TRUE] L0014
AND G72,#0200 -> -(SP)
JZ (SP)+ [TRUE] L0006
JZ L01 [FALSE] L0006
L0002: JZ L00 [TRUE] L0005
GET_PROP L00,#0e -> -(SP)
JE (SP)+,G73 [FALSE] L0003
TEST_ATTR L00,#19 [TRUE] L0005
L0003: GET_SIBLING L00 -> L00 [FALSE] L0004
L0004: JUMP L0002
L0005: RET L00
L0006: AND G72,#0800 -> -(SP)
JZ (SP)+ [TRUE] L0011
L0007: JZ L00 [TRUE] L0010
TEST_ATTR L00,#02 [TRUE] L0008
TEST_ATTR L00,#11 [TRUE] L0008
GET_PROP L00,#0e -> -(SP)
JE (SP)+,G73 [TRUE] L0010
L0008: GET_SIBLING L00 -> L00 [FALSE] L0009
L0009: JUMP L0007
L0010: RET L00
L0011: JZ L00 [TRUE] L0013
GET_PROP L00,#0e -> -(SP)
JE (SP)+,G73 [TRUE] L0013
GET_SIBLING L00 -> L00 [FALSE] L0012
L0012: JUMP L0011
L0013: RET L00
L0014: AND G72,#0200 -> -(SP)
JZ (SP)+ [TRUE] L0018
JZ L01 [FALSE] L0018
L0015: JZ L00 [TRUE] L0017
TEST_ATTR L00,#19 [TRUE] L0017
GET_SIBLING L00 -> L00 [FALSE] L0016
L0016: JUMP L0015
L0017: RET L00
L0018: AND G72,#0800 -> -(SP)
JZ (SP)+ [TRUE] L0022
L0019: JZ L00 [TRUE] L0022
TEST_ATTR L00,#02 [TRUE] L0020
TEST_ATTR L00,#11 [FALSE] L0022
L0020: GET_SIBLING L00 -> L00 [FALSE] L0021
L0021: JUMP L0019
L0022: RET L00
Routine R0087, 1 local
AND G72,#20 -> -(SP)
JZ (SP)+ [FALSE] RTRUE
AND G72,#10 -> -(SP)
JZ (SP)+ [TRUE] RFALSE
TEST_ATTR L00,#17 [TRUE] RTRUE
TEST_ATTR L00,#14 [TRUE] RTRUE
TEST_ATTR L00,#03 [FALSE] L0001
TEST_ATTR L00,#0e [TRUE] RTRUE
L0001: RFALSE
Routine R0088, 2 locals
GET_CHILD L00 -> -(SP) [FALSE] L0001
L0001: JZ (SP)+ [TRUE] L0002
CALL_2S R0087 (L00) -> -(SP)
JZ (SP)+ [FALSE] RFALSE
L0002: GET_CHILD L01 -> -(SP) [FALSE] L0003
L0003: JZ (SP)+ [TRUE] L0004
CALL_2S R0087 (L01) -> -(SP)
JZ (SP)+ [FALSE] RFALSE
L0004: AND G72,#84 -> -(SP)
JZ (SP)+ [TRUE] L0008
TEST_ATTR L00,#1a [TRUE] L0005
TEST_ATTR L01,#1a [TRUE] RFALSE
L0005: TEST_ATTR L01,#1a [TRUE] L0006
TEST_ATTR L00,#1a [TRUE] RFALSE
L0006: TEST_ATTR L00,#09 [TRUE] L0007
TEST_ATTR L01,#09 [TRUE] RFALSE
L0007: TEST_ATTR L01,#09 [TRUE] L0008
TEST_ATTR L00,#09 [TRUE] RFALSE
L0008: CALL_VS R0015 (L00,L01) -> -(SP)
RET_POPPED
Routine R0089, 2 locals
L0001: GET_CHILD L00 -> -(SP) [FALSE] L0002
L0002: JZ (SP)+ [TRUE] L0008
GET_CHILD L00 -> -(SP) [FALSE] L0003
L0003: GET_PROP (SP)+,#0e -> -(SP)
JE (SP)+,L01 [TRUE] L0005
GET_CHILD L00 -> -(SP) [FALSE] L0004
L0004: INSERT_OBJ (SP)+,"outside"
JUMP L0007
L0005: GET_CHILD L00 -> -(SP) [FALSE] L0006
L0006: INSERT_OBJ (SP)+,"inside"
L0007: JUMP L0001
L0008: GET_CHILD "inside" -> -(SP) [FALSE] L0009
L0009: JZ (SP)+ [TRUE] L0011
GET_CHILD "inside" -> -(SP) [FALSE] L0010
L0010: INSERT_OBJ (SP)+,L00
JUMP L0008
L0011: GET_CHILD "outside" -> -(SP) [FALSE] L0012
L0012: JZ (SP)+ [TRUE] L0014
GET_CHILD "outside" -> -(SP) [FALSE] L0013
L0013: INSERT_OBJ (SP)+,L00
JUMP L0011
L0014: RTRUE
Routine R0090, 4 locals
L0001: STORE L01,L00
JUMP L0003
L0002: GET_SIBLING L01 -> L01 [FALSE] L0003
L0003: JZ L01 [TRUE] L0013
GET_PROP L01,#0e -> L02
JZ L02 [TRUE] L0012
GET_SIBLING L01 -> L01 [FALSE] L0004
L0004: JZ L01 [TRUE] L0006
GET_PROP L01,#0e -> -(SP)
JE (SP)+,L02 [FALSE] L0006
GET_SIBLING L01 -> L01 [FALSE] L0005
L0005: JUMP L0004
L0006: JZ L01 [TRUE] RFALSE
GET_SIBLING L01 -> L03 [FALSE] L0007
L0007: JUMP L0009
L0008: GET_SIBLING L03 -> L03 [FALSE] L0009
L0009: JZ L03 [TRUE] L0012
GET_PROP L03,#0e -> -(SP)
JE (SP)+,L02 [FALSE] L0011
GET_PARENT L00 -> -(SP)
CALL_VN R0089 ((SP)+,L02)
GET_PARENT L00 -> -(SP)
GET_CHILD (SP)+ -> L00 [FALSE] L0010
L0010: JUMP L0001
L0011: JUMP L0008
L0012: JUMP L0002
L0013: RTRUE
Routine R0091, 3 locals
GET_PARENT L00 -> -(SP)
GET_CHILD (SP)+ -> -(SP) [FALSE] L0001
L0001: JE L00,(SP)+ [FALSE] L0002
CALL_2N R0090 (L00)
GET_PARENT L00 -> -(SP)
GET_CHILD (SP)+ -> L00 [FALSE] L0002
L0002: STORE G72,L01
AND L01,#0200 -> -(SP)
JZ (SP)+ [TRUE] L0006
L0003: JZ L00 [TRUE] L0005
TEST_ATTR L00,#19 [TRUE] L0005
GET_SIBLING L00 -> L00 [FALSE] L0004
L0004: JUMP L0003
L0005: JUMP L0010
L0006: AND G72,#0800 -> -(SP)
JZ (SP)+ [TRUE] L0010
L0007: JZ L00 [TRUE] L0010
TEST_ATTR L00,#02 [TRUE] L0008
TEST_ATTR L00,#11 [FALSE] L0010
L0008: GET_SIBLING L00 -> L00 [FALSE] L0009
L0009: JUMP L0007
L0010: JZ L00 [TRUE] RFALSE
STORE G76,#00
CALL_VN R0092 (L00,L02)
RTRUE
Routine R0092, 15 locals
JG L01,#00 [FALSE] L0002
GET_PARENT L00 -> -(SP)
GET_CHILD (SP)+ -> -(SP) [FALSE] L0001
L0001: JE L00,(SP)+ [FALSE] L0002
CALL_2N R0090 (L00)
GET_PARENT L00 -> -(SP)
GET_CHILD (SP)+ -> L00 [FALSE] L0002
L0002: ADD #36a7,L02 -> L03
ADD #3627,L02 -> L04
STORE L05,L00
STORE L06,#00
JUMP L0004
L0003: CALL_VS R0086 (L05,L01) -> L05
INC L06
L0004: JZ L05 [TRUE] L0006
ADD L06,L02 -> -(SP)
JL (SP)+,#80 [FALSE] L0006
STOREB L03,L06,#00
GET_PROP L05,#10 -> -(SP)
JZ (SP)+ [TRUE] L0005
INC L07
L0005: JUMP L0003
L0006: AND G72,#0400 -> -(SP)
JZ (SP)+ [TRUE] L0011
JE L06,#01 [FALSE] L0007
PRINT " is"
JUMP L0008
L0007: PRINT " are"
L0008: AND G72,#01 -> -(SP)
JZ (SP)+ [TRUE] L0009
PRINT ":
"
JUMP L0010
L0009: PRINT_CHAR ' '
L0010: SUB G72,#0400 -> G72
L0011: ADD L02,L06 -> -(SP)
ADD (SP)+,#01 -> L02
JL L07,#02 [FALSE] L0012
JUMP L0063
L0012: STORE L0b,#01
STORE L05,L00
STORE L07,#00
JUMP L0014
L0013: CALL_VS R0086 (L05,L01) -> L05
INC L07
L0014: JL L07,L06 [FALSE] L0020
LOADB L03,L07 -> -(SP)
JZ (SP)+ [FALSE] L0019
STOREB L03,L07,L0b
STOREB L04,L0b,#01
CALL_VS R0086 (L05,L01) -> L09
ADD L07,#01 -> L0a
JUMP L0016
L0015: CALL_VS R0086 (L09,L01) -> L09
INC L0a
L0016: JZ L09 [TRUE] L0018
JL L0a,L06 [FALSE] L0018
LOADB L03,L0a -> -(SP)
JZ (SP)+ [FALSE] L0017
GET_PROP L05,#10 -> -(SP)
JZ (SP)+ [TRUE] L0017
GET_PROP L09,#10 -> -(SP)
JZ (SP)+ [TRUE] L0017
CALL_VS R0088 (L05,L09) -> -(SP)
JE (SP)+,#01 [FALSE] L0017
LOADB L04,L0b -> -(SP)
ADD (SP)+,#01 -> -(SP)
STOREB L04,L0b,(SP)+
STOREB L03,L0a,L0b
L0017: JUMP L0015
L0018: INC L0b
L0019: JUMP L0013
L0020: DEC L0b
STORE L05,#01
STORE L06,L00
STORE L07,#00
JUMP L0022
L0021: INC L05
INC L0d
L0022: JG L05,L0b [TRUE] L0026
L0023: LOADB L03,L07 -> -(SP)
JE (SP)+,L05 [TRUE] L0024
SUB #00,L05 -> -(SP)
LOADB L03,L07 -> -(SP)
JE (SP)+,(SP)+ [TRUE] L0024
INC L07
CALL_VS R0086 (L06,L01) -> L06
JUMP L0023
L0024: LOADB L04,L05 -> L0a
GET_PROP L06,#0e -> -(SP)
JE (SP)+,#00,G73 [TRUE] L0025
GET_PROP L06,#0e -> -(SP)
CALL_2S R0046 ((SP)+) -> -(SP)
JE (SP)+,#02,#03 [FALSE] L0025
GET_PROP L06,#0e -> -(SP)
JE (SP)+,L0e [FALSE] L0025
DEC L0d
L0025: GET_PROP L06,#0e -> L0e
JUMP L0021
L0026: DEC L0d
STORE L05,#01
STORE L06,L00
STORE L07,#00
STORE L0e,#00
JUMP L0028
L0027: INC L05
DEC L0d
L0028: JL L0d,#00 [TRUE] L0062
L0029: LOADB L03,L07 -> -(SP)
JE (SP)+,L05 [TRUE] L0030
SUB #00,L05 -> -(SP)
LOADB L03,L07 -> -(SP)
JE (SP)+,(SP)+ [TRUE] L0030
INC L07
CALL_VS R0086 (L06,L01) -> L06
JUMP L0029
L0030: GET_PROP L06,#0e -> -(SP)
JE (SP)+,#00,G73 [TRUE] L0051
GET_PROP L06,#0e -> -(SP)
JE (SP)+,L0e [FALSE] L0031
INC L0d
JUMP L0061
L0031: CALL_VS R0086 (L06,L01) -> L08
JZ L08 [TRUE] L0032
GET_PROP L06,#0e -> -(SP)
GET_PROP L08,#0e -> -(SP)
JE (SP)+,(SP)+ [TRUE] L0033
L0032: JUMP L0051
L0033: GET_PROP L06,#0e -> -(SP)
CALL_2S R0046 ((SP)+) -> L08
JE L08,#02,#03 [FALSE] L0051
STORE L0c,L06
STORE G75,#01
STORE L09,L07
STORE L0a,L05
L0034: JL L0a,L0b [FALSE] L0038
GET_PROP L06,#0e -> -(SP)
GET_PROP L0c,#0e -> -(SP)
JE (SP)+,(SP)+ [FALSE] L0038
INC L0a
L0035: LOADB L03,L09 -> -(SP)
JE (SP)+,L0a [TRUE] L0036
SUB #00,L0a -> -(SP)
LOADB L03,L09 -> -(SP)
JE (SP)+,(SP)+ [TRUE] L0036
INC L09
CALL_VS R0086 (L0c,L01) -> L0c
JUMP L0035
L0036: GET_PROP L06,#0e -> -(SP)
GET_PROP L0c,#0e -> -(SP)
JE (SP)+,(SP)+ [FALSE] L0037
INC G75
L0037: JUMP L0034
L0038: JE G75,#01 [FALSE] L0039
JUMP L0051
L0039: AND G72,#02 -> -(SP)
JZ (SP)+ [TRUE] L0041
ADD L01,G76 -> -(SP)
MUL #02,(SP)+ -> -(SP)
PULL Gef
JL Gef,#00 [TRUE] L0041
L0040: PRINT_CHAR ' '
DEC Gef
JZ Gef [FALSE] L0040
L0041: JE L08,#03 [FALSE] L0045
STORE L0c,#00
STORE L09,#00
L0042: JL L09,G75 [FALSE] L0043
ADD L09,L05 -> -(SP)
LOADB L04,(SP)+ -> -(SP)
ADD L0c,(SP)+ -> L0c
INC L09
JUMP L0042
L0043: CALL_2N R0084 (L0c)
PRINT " "
GET_PROP L06,#0e -> -(SP)
PRINT_PADDR (SP)+
AND G72,#08 -> -(SP)
JZ (SP)+ [TRUE] L0044
PRINT " ("
L0044: AND G72,#02 -> -(SP)
JZ (SP)+ [TRUE] L0045
PRINT ":
"
L0045: STORE L0c,G72
JE L08,#03 [TRUE] L0046
STORE G71,#01
STORE G45,L06
ADD L01,G76 -> G46
CALL_VS R0049 (L06,#0e) -> -(SP)
JE (SP)+,#01 [FALSE] L0046
JUMP L0049
L0046: GET_PROP L06,#0e -> G73
STORE G74,L06
INC G76
CALL_VN R0092 (L06,L01,L02)
DEC G76
STORE G73,#00
STORE G74,#00
JE L08,#03 [FALSE] L0048
AND L0c,#08 -> -(SP)
JZ (SP)+ [TRUE] L0047
PRINT ")"
L0047: JUMP L0049
L0048: STORE G71,#02
STORE G45,L06
ADD L01,G76 -> G46
CALL_VN R0049 (L06,#0e)
L0049: AND L0c,#01 -> -(SP)
JZ (SP)+ [TRUE] L0050
AND G72,#01 -> -(SP)
JZ (SP)+ [FALSE] L0050
NEW_LINE
L0050: STORE G72,L0c
GET_PROP L06,#0e -> L0e
JUMP L0059
L0051: CALL_VS R0093 (L06,L01) -> -(SP)
JE (SP)+,#01 [FALSE] L0052
JUMP L0061
L0052: LOADB L04,L05 -> -(SP)
JE (SP)+,#01 [FALSE] L0056
AND G72,#1000 -> -(SP)
JZ (SP)+ [TRUE] L0053
CALL_2N R0079 (L06)
JUMP L0055
L0053: AND G72,#0100 -> -(SP)
JZ (SP)+ [TRUE] L0054
CALL_2N R0077 (L06)
JUMP L0055
L0054: CALL_2N R0076 (L06)
L0055: JUMP L0058
L0056: AND G72,#0100 -> -(SP)
JZ (SP)+ [TRUE] L0057
PRINT "the "
L0057: LOADB L04,L05 -> -(SP)
CALL_2N R0084 ((SP)+)
PRINT " "
CALL_VN R0047 (L06,#10,#01)
L0058: CALL_VN R0094 (L06,L01,L02)
L0059: AND G72,#08 -> -(SP)
JZ (SP)+ [TRUE] L0061
JE L0d,#01 [FALSE] L0060
PRINT " and "
L0060: JG L0d,#01 [FALSE] L0061
PRINT ", "
L0061: JUMP L0027
L0062: RTRUE
L0063: STORE L0b,L06
STORE L05,#01
STORE L06,L00
JUMP L0065
L0064: CALL_VS R0086 (L06,L01) -> L06
INC L05
INC L0d
L0065: JG L05,L0b [TRUE] L0067
GET_PROP L06,#0e -> -(SP)
JE (SP)+,#00,G73 [TRUE] L0066
GET_PROP L06,#0e -> -(SP)
CALL_2S R0046 ((SP)+) -> -(SP)
JE (SP)+,#02,#03 [FALSE] L0066
GET_PROP L06,#0e -> -(SP)
JE (SP)+,L0e [FALSE] L0066
DEC L0d
L0066: GET_PROP L06,#0e -> L0e
JUMP L0064
L0067: STORE L05,#01
STORE L06,L00
STORE L0e,#00
JUMP L0069
L0068: CALL_VS R0086 (L06,L01) -> L06
INC L05
L0069: JG L05,L0d [TRUE] L0091
GET_PROP L06,#0e -> -(SP)
JE (SP)+,#00,G73 [TRUE] L0083
GET_PROP L06,#0e -> -(SP)
JE (SP)+,L0e [FALSE] L0070
DEC L05
JUMP L0090
L0070: CALL_VS R0086 (L06,L01) -> L07
JZ L07 [TRUE] L0071
GET_PROP L06,#0e -> -(SP)
GET_PROP L07,#0e -> -(SP)
JE (SP)+,(SP)+ [TRUE] L0072
L0071: JUMP L0083
L0072: GET_PROP L06,#0e -> -(SP)
CALL_2S R0046 ((SP)+) -> L07
JE L07,#02,#03 [FALSE] L0083
AND G72,#02 -> -(SP)
JZ (SP)+ [TRUE] L0074
ADD L01,G76 -> -(SP)
MUL #02,(SP)+ -> -(SP)
PULL Gef
JL Gef,#00 [TRUE] L0074
L0073: PRINT_CHAR ' '
DEC Gef
JZ Gef [FALSE] L0073
L0074: JE L07,#03 [FALSE] L0077
STORE L0c,L06
STORE L09,#00
L0075: CALL_VS R0086 (L0c,L01) -> L0c
INC L09
GET_PROP L06,#0e -> -(SP)
GET_PROP L0c,#0e -> -(SP)
JE (SP)+,(SP)+ [TRUE] L0075
CALL_2N R0084 (L09)
PRINT " "
GET_PROP L06,#0e -> -(SP)
PRINT_PADDR (SP)+
AND G72,#08 -> -(SP)
JZ (SP)+ [TRUE] L0076
PRINT " ("
L0076: AND G72,#02 -> -(SP)
JZ (SP)+ [TRUE] L0077
PRINT ":
"
L0077: STORE L0c,G72
JE L07,#03 [TRUE] L0078
STORE G71,#01
STORE G45,L06
ADD L01,G76 -> G46
CALL_VS R0049 (L06,#0e) -> -(SP)
JE (SP)+,#01 [FALSE] L0078
JUMP L0081
L0078: GET_PROP L06,#0e -> G73
STORE G74,L06
INC G76
CALL_VN R0092 (L06,L01,L02)
DEC G76
STORE G73,#00
STORE G74,#00
JE L07,#03 [FALSE] L0080
AND L0c,#08 -> -(SP)
JZ (SP)+ [TRUE] L0079
PRINT ")"
L0079: JUMP L0081
L0080: STORE G71,#02
STORE G45,L06
ADD L01,G76 -> G46
CALL_VN R0049 (L06,#0e)
L0081: AND L0c,#01 -> -(SP)
JZ (SP)+ [TRUE] L0082
AND G72,#01 -> -(SP)
JZ (SP)+ [FALSE] L0082
NEW_LINE
L0082: STORE G72,L0c
GET_PROP L06,#0e -> L0e
JUMP L0088
L0083: CALL_VS R0093 (L06,L01) -> -(SP)
JE (SP)+,#01 [FALSE] L0084
JUMP L0090
L0084: AND G72,#1000 -> -(SP)
JZ (SP)+ [TRUE] L0085
CALL_2N R0079 (L06)
JUMP L0087
L0085: AND G72,#0100 -> -(SP)
JZ (SP)+ [TRUE] L0086
CALL_2N R0077 (L06)
JUMP L0087
L0086: CALL_2N R0076 (L06)
L0087: CALL_VN R0094 (L06,L01,L02)
L0088: AND G72,#08 -> -(SP)
JZ (SP)+ [TRUE] L0090
SUB L0d,#01 -> -(SP)
JE L05,(SP)+ [FALSE] L0089
PRINT " and "
L0089: SUB L0d,#01 -> -(SP)
JL L05,(SP)+ [FALSE] L0090
PRINT ", "
L0090: JUMP L0068
L0091: RTRUE
Routine R0093, 3 locals
AND G72,#02 -> -(SP)
JZ (SP)+ [TRUE] L0002
ADD L01,G76 -> -(SP)
MUL #02,(SP)+ -> -(SP)
PULL Gef
JL Gef,#00 [TRUE] L0002
L0001: PRINT_CHAR ' '
DEC Gef
JZ Gef [FALSE] L0001
L0002: AND G72,#04 -> -(SP)
JZ (SP)+ [TRUE] L0003
GET_PROP L00,#0f -> -(SP)
JZ (SP)+ [TRUE] L0003
STORE G71,#01
CALL_VS R0047 (L00,#0f,#01) -> L02
JE L02,#01 [FALSE] L0003
AND G72,#01 -> -(SP)
JZ (SP)+ [TRUE] L0003
NEW_LINE
L0003: RET L02
Routine R0094, 8 locals
AND G72,#80 -> -(SP)
JZ (SP)+ [TRUE] L0012
STORE L07,#00
TEST_ATTR L00,#09 [FALSE] L0001
TEST_ATTR G00,#09 [TRUE] L0001
ADD L07,#01 -> L07
L0001: TEST_ATTR L00,#03 [FALSE] L0002
TEST_ATTR L00,#0e [TRUE] L0002
ADD L07,#02 -> L07
L0002: TEST_ATTR L00,#03 [FALSE] L0005
TEST_ATTR L00,#0e [TRUE] L0003
TEST_ATTR L00,#17 [FALSE] L0005
L0003: GET_CHILD L00 -> -(SP) [FALSE] L0004
L0004: JZ (SP)+ [FALSE] L0005
ADD L07,#04 -> L07
L0005: JE L07,#01 [FALSE] L0006
PRINT " (providing light)"
L0006: JE L07,#02 [FALSE] L0007
PRINT " (which is closed)"
L0007: JE L07,#03 [FALSE] L0008
PRINT " (closed and providing light)"
L0008: JE L07,#04 [FALSE] L0009
PRINT " (which is empty)"
L0009: JE L07,#05 [FALSE] L0010
PRINT " (empty and providing light)"
L0010: JE L07,#06 [FALSE] L0011
PRINT " (which is closed and empty)"
L0011: JE L07,#07 [FALSE] L0012
PRINT " (closed, empty and providing light)"
L0012: AND G72,#04 -> -(SP)
JZ (SP)+ [TRUE] L0029
GET_PROP L00,#0f -> -(SP)
JZ (SP)+ [TRUE] L0014
STORE G71,#02
CALL_VS R0049 (L00,#0f) -> -(SP)
JZ (SP)+ [TRUE] L0014
AND G72,#01 -> -(SP)
JZ (SP)+ [TRUE] L0013
NEW_LINE
L0013: RTRUE
L0014: TEST_ATTR L00,#09 [FALSE] L0015
TEST_ATTR L00,#1a [FALSE] L0015
PRINT " (providing light and being worn"
STORE L04,#01
JUMP L0017
L0015: TEST_ATTR L00,#09 [FALSE] L0016
PRINT " (providing light"
STORE L04,#01
L0016: TEST_ATTR L00,#1a [FALSE] L0017
PRINT " (being worn"
STORE L04,#01
L0017: TEST_ATTR L00,#03 [FALSE] L0028
TEST_ATTR L00,#0f [FALSE] L0025
JE L04,#01 [FALSE] L0018
PRINT " and "
JUMP L0019
L0018: PRINT " (which is "
L0019: TEST_ATTR L00,#0e [FALSE] L0022
PRINT "open"
GET_CHILD L00 -> -(SP) [FALSE] L0020
L0020: JZ (SP)+ [FALSE] L0021
PRINT " but empty"
L0021: JUMP L0023
L0022: PRINT "closed"
L0023: TEST_ATTR L00,#0a [FALSE] L0024
TEST_ATTR L00,#0b [FALSE] L0024
PRINT " and locked"
L0024: STORE L04,#01
JUMP L0028
L0025: GET_CHILD L00 -> -(SP) [FALSE] L0026
L0026: JZ (SP)+ [FALSE] L0028
JE L04,#01 [FALSE] L0027
PRINT " and empty"
JUMP L0028
L0027: PRINT " (which is empty)"
L0028: JE L04,#01 [FALSE] L0029
PRINT ")"
L0029: AND G72,#0800 -> -(SP)
JZ (SP)+ [FALSE] L0034
GET_CHILD L00 -> -(SP) [FALSE] L0030
L0030: JZ (SP)+ [TRUE] L0033
STORE Gef,#00
GET_CHILD L00 -> -(SP) [FALSE] L0032
L0031: INC Gef
GET_SIBLING (SP)+ -> -(SP) [TRUE] L0031
L0032: PULL Gee
STORE L05,Gef
L0033: JUMP L0038
L0034: GET_CHILD L00 -> -(SP) [FALSE] L0035
L0035: PULL L06
JZ L06 [TRUE] L0038
L0036: TEST_ATTR L06,#02 [TRUE] L0037
INC L05
L0037: GET_SIBLING L06 -> L06 [TRUE] L0036
L0038: AND G72,#20 -> -(SP)
JZ (SP)+ [TRUE] L0040
JG L05,#00 [FALSE] L0040
AND G72,#08 -> -(SP)
JZ (SP)+ [TRUE] L0039
PRINT " containing "
L0039: STORE L03,#01
L0040: AND G72,#10 -> -(SP)
JZ (SP)+ [TRUE] L0051
JG L05,#00 [FALSE] L0051
TEST_ATTR L00,#14 [FALSE] L0045
AND G72,#08 -> -(SP)
JZ (SP)+ [TRUE] L0044
AND G72,#40 -> -(SP)
JZ (SP)+ [TRUE] L0041
PRINT " (on "
JUMP L0042
L0041: PRINT ", on top of "
L0042: TEST_ATTR L00,#00 [FALSE] L0043
PRINT "whom "
JUMP L0044
L0043: PRINT "which "
L0044: STORE L03,#01
L0045: TEST_ATTR L00,#03 [FALSE] L0051
TEST_ATTR L00,#0e [TRUE] L0046
TEST_ATTR L00,#17 [FALSE] L0051
L0046: AND G72,#08 -> -(SP)
JZ (SP)+ [TRUE] L0050
AND G72,#40 -> -(SP)
JZ (SP)+ [TRUE] L0047
PRINT " (in "
JUMP L0048
L0047: PRINT ", inside "
L0048: TEST_ATTR L00,#00 [FALSE] L0049
PRINT "whom "
JUMP L0050
L0049: PRINT "which "
L0050: STORE L03,#01
L0051: JE L03,#01 [FALSE] L0053
AND G72,#08 -> -(SP)
JZ (SP)+ [TRUE] L0053
JG L05,#01 [FALSE] L0052
PRINT "are "
JUMP L0053
L0052: PRINT "is "
L0053: AND G72,#01 -> -(SP)
JZ (SP)+ [TRUE] L0054
NEW_LINE
L0054: JE L03,#01 [FALSE] L0056
ADD L01,#01 -> -(SP)
GET_CHILD L00 -> -(SP) [FALSE] L0055
L0055: CALL_VN R0092 ((SP)+,(SP)+,L02)
L0056: JE L03,#01 [FALSE] L0057
AND G72,#40 -> -(SP)
JZ (SP)+ [TRUE] L0057
PRINT ")"
L0057: RTRUE
Routine R0095, 5 locals
STORE L00,#15
L0001: JG L00,G14 [TRUE] L0009
GET_PROP_ADDR L00,#18 -> L04
JZ L04 [TRUE] L0008
TEST_ATTR L00,#07 [TRUE] L0008
LOADW L04,#00 -> -(SP)
CALL_2S R0046 ((SP)+) -> -(SP)
JE (SP)+,#02 [FALSE] L0003
LOADW L04,#00 -> -(SP)
CALL_1S (SP)+ -> -(SP)
JZ (SP)+ [TRUE] L0002
INSERT_OBJ L00,G00
L0002: JUMP L0008
L0003: GET_PROP_ADDR L00,#18 -> Gef
JZ Gef [TRUE] L0004
GET_PROP_LEN Gef -> Gef
L0004: STORE L01,Gef
STORE L02,#00
L0005: DIV L01,#02 -> -(SP)
JL L02,(SP)+ [FALSE] L0008
LOADW L04,L02 -> L03
JE L03,G00 [TRUE] L0006
JIN L03,G00 [FALSE] L0007
L0006: INSERT_OBJ L00,G00
L0007: INC L02
JUMP L0005
L0008: INC L00
JUMP L0001
L0009: RTRUE
Routine R0096, 2 locals
INSERT_OBJ G08,L00
L0001: GET_PARENT L00 -> -(SP)
JZ (SP)+ [TRUE] L0002
GET_PARENT L00 -> L00
JUMP L0001
L0002: STORE G00,L00
STORE G0a,G00
CALL_2N R0068 (#01)
JZ L01 [FALSE] L0003
CALL_2N R0059 (#07)
L0003: JE L01,#01 [FALSE] L0004
CALL_1N R0142
CALL_1N R0143
L0004: JE L01,#02 [FALSE] L0005
CALL_2N R0144 (#01)
L0005: RTRUE
Routine R0097, 1 local
CALL_VN R0059 (#00,L00)
CALL_2N R0059 (#07)
RTRUE
Routine R0098, 1 local
L0001: STORE Gec,#33a8
STOREB Gec,#01,#00
CALL_1N R0003
READ Gec,#3421 -> Gef
LOADW #3421,#01 -> L00
JE L00,"yes","y" [TRUE] RTRUE
JE L00,"no","n" [TRUE] RFALSE
CALL_VN R0205 (#0c,#01)
PRINT "> "
JUMP L0001
orphan code fragment:
RTRUE
Routine R0099, 0 locals
Action routine for:
"die"
CALL_VN R0205 (#0c,#02)
CALL_1S R0098 -> -(SP)
JZ (SP)+ [TRUE] L0001
QUIT
L0001: RTRUE
Routine R0100, 0 locals
Action routine for:
"restart"
CALL_VN R0205 (#0d,#01)
CALL_1S R0098 -> -(SP)
JZ (SP)+ [TRUE] L0001
RESTART
CALL_VN R0205 (#0d,#02)
L0001: RTRUE
Routine R0101, 0 locals
Action routine for:
"restore"
RESTORE -> Gef
JE Gef,#02 [TRUE] L0001
CALL_VS R0205 (#0e,#01) -> -(SP)
RET_POPPED
L0001: CALL_VN R0205 (#0e,#02)
RTRUE
Routine R0102, 0 locals
Action routine for:
"save"
SAVE -> Gef
JZ Gef [FALSE] L0001
CALL_VS R0205 (#0f,#01) -> -(SP)
RET_POPPED
L0001: CALL_VN R0205 (#0f,#02)
RTRUE
Routine R0103, 0 locals
Action routine for:
"verify"
VERIFY [TRUE] L0001
JUMP L0002
L0001: CALL_VS R0205 (#10,#01) -> -(SP)
RET_POPPED
L0002: CALL_VN R0205 (#10,#02)
RTRUE
Routine R0104, 0 locals
Action routine for:
"script"
"script on"
JE G0d,#01 [FALSE] L0001
CALL_VS R0205 (#11,#01) -> -(SP)
RET_POPPED
L0001: STORE G0d,#01
LOADW #00,#08 -> -(SP)
OR (SP)+,#01 -> -(SP)
STOREW #00,#08,(SP)+
CALL_VN R0205 (#11,#02)
CALL_1N R0082
RTRUE
Routine R0105, 0 locals
Action routine for:
"script off"
"noscript"
JZ G0d [FALSE] L0001
CALL_VS R0205 (#12,#01) -> -(SP)
RET_POPPED
L0001: CALL_VN R0205 (#12,#02)
STORE G0d,#00
LOADW #00,#08 -> -(SP)
AND (SP)+,#fffe -> -(SP)
STOREW #00,#08,(SP)+
RTRUE
Routine R0106, 0 locals
Action routine for:
"notify on"
STORE G0f,#01
CALL_2N R0205 (#13)
RTRUE
Routine R0107, 0 locals
Action routine for:
"notify off"
STORE G0f,#00
CALL_2N R0205 (#14)
RTRUE
Routine R0108, 3 locals
Action routine for:
"places"
CALL_2N R0205 (#15)
STORE L00,#14
L0001: JG L00,G14 [TRUE] L0003
TEST_ATTR L00,#18 [FALSE] L0002
INC L01
L0002: INC L00
JUMP L0001
L0003: STORE L00,#14
L0004: JG L00,G14 [TRUE] L0008
TEST_ATTR L00,#18 [FALSE] L0007
CALL_2N R0079 (L00)
INC L02
JE L02,L01 [FALSE] L0005
PRINT_RET "."
L0005: SUB L01,#01 -> -(SP)
JE L02,(SP)+ [FALSE] L0006
PRINT " and "
JUMP L0007
L0006: PRINT ", "
L0007: INC L00
JUMP L0004
L0008: RTRUE
Routine R0109, 3 locals
Action routine for:
"objects"
CALL_VN R0205 (#16,#01)
STORE L00,#14
L0001: JG L00,G14 [TRUE] L0012
TEST_ATTR L00,#0c [FALSE] L0011
STORE L02,#01
CALL_2N R0077 (L00)
GET_PARENT L00 -> L01
JE L01,G08 [FALSE] L0004
TEST_ATTR L00,#1a [FALSE] L0002
PRINT " (worn)"
JUMP L0003
L0002: PRINT " (held)"
L0003: JUMP L0010
L0004: TEST_ATTR L01,#00 [FALSE] L0005
PRINT " (given away)"
JUMP L0010
L0005: TEST_ATTR L01,#18 [FALSE] L0006
PRINT " (in "
CALL_2N R0079 (L01)
PRINT ")"
JUMP L0010
L0006: TEST_ATTR L01,#06 [FALSE] L0007
PRINT " (in "
CALL_2N R0077 (L01)
PRINT ")"
JUMP L0010
L0007: TEST_ATTR L01,#03 [FALSE] L0008
PRINT " (inside "
CALL_2N R0079 (L01)
PRINT ")"
JUMP L0010
L0008: TEST_ATTR L01,#14 [FALSE] L0009
PRINT " (on "
CALL_2N R0079 (L01)
PRINT ")"
JUMP L0010
L0009: PRINT " (lost)"
L0010: NEW_LINE
L0011: INC L00
JUMP L0001
L0012: JZ L02 [FALSE] L0013
CALL_VN R0205 (#16,#02)
L0013: RTRUE
Routine R0110, 0 locals
Action routine for:
"score"
CALL_2N R0205 (#17)
CALL_1N R0330
RTRUE
Routine R0111, 1 local
LOADB #374b,L00 -> -(SP)
JZ (SP)+ [FALSE] L0001
STOREB #374b,L00,#01
LOADB #3747,L00 -> -(SP)
ADD G06,(SP)+ -> G06
L0001: RTRUE
Routine R0112, 2 locals
PRINT " "
STORE L01,L00
JL L01,#00 [FALSE] L0001
SUB #00,L00 -> L01
MUL L01,#0a -> L01
L0001: JL L01,#0a [FALSE] L0002
PRINT " "
JUMP L0004
L0002: JL L01,#64 [FALSE] L0003
PRINT " "
JUMP L0004
L0003: JL L01,#03e8 [FALSE] L0004
PRINT " "
L0004: PRINT_NUM L00
PRINT " "
RTRUE
Routine R0113, 1 local
Action routine for:
"full"
"full score"
CALL_1N R0110
JZ G06 [TRUE] RFALSE
JZ #01 [FALSE] RFALSE
NEW_LINE
CALL_VN R0205 (#18,#01)
STORE L00,#00
L0001: JL L00,#01 [FALSE] L0003
LOADB #374b,L00 -> -(SP)
JE (SP)+,#01 [FALSE] L0002
LOADB #3747,L00 -> -(SP)
CALL_2N R0112 ((SP)+)
CALL_2N R0368 (L00)
L0002: INC L00
JUMP L0001
L0003: JZ G11 [TRUE] L0004
CALL_2N R0112 (G11)
CALL_VN R0205 (#18,#02)
L0004: JZ G10 [TRUE] L0005
CALL_2N R0112 (G10)
CALL_VN R0205 (#18,#03)
L0005: NEW_LINE
CALL_2N R0112 (G06)
CALL_VN R0205 (#18,#04)
RTRUE
Routine R0114, 0 locals
Action routine for:
"i wide"
STORE G77,#1c
CALL_2N R0059 (#19)
RTRUE
Routine R0115, 0 locals
Action routine for:
"i tall"
STORE G77,#17
CALL_2N R0059 (#19)
RTRUE
Routine R0116, 0 locals
Action routine for:
"carry inventory"
"i"
GET_CHILD G08 -> -(SP) [FALSE] L0001
L0001: JZ (SP)+ [FALSE] L0002
CALL_VS R0205 (#19,#01) -> -(SP)
RET_POPPED
L0002: JZ G77 [FALSE] L0003
CALL_2N R0059 (#1a)
RTRUE
L0003: CALL_VN R0205 (#19,#02)
AND G77,#01 -> -(SP)
JZ (SP)+ [TRUE] L0004
PRINT ":
"
JUMP L0005
L0004: PRINT " "
L0005: GET_CHILD G08 -> -(SP) [FALSE] L0006
L0006: CALL_VN R0091 ((SP)+,G77,#01)
AND G77,#08 -> -(SP)
JZ (SP)+ [TRUE] L0007
PRINT ".
"
L0007: CALL_1N R0058
RTRUE
Routine R0117, 0 locals
Action routine for:
"carry MULTI"
"pick up MULTI"
"pick MULTI up"
"remove MULTI"
"peel NOUN"
"peel off NOUN"
JZ G25 [TRUE] L0001
GET_PARENT G1e -> -(SP)
JE (SP)+,G08 [TRUE] L0003
L0001: JE G00,#13 [FALSE] L0002
CALL_2S R0118 (G0a) -> -(SP)
JZ (SP)+ [FALSE] RTRUE
JUMP L0003
L0002: CALL_2S R0118 (G00) -> -(SP)
JZ (SP)+ [FALSE] RTRUE
L0003: CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
STORE G24,G25
JE G24,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
CALL_VN R0205 (#01,#01)
RTRUE
Routine R0118, 5 locals
JE G1e,G08 [FALSE] L0001
CALL_VS R0205 (#01,#02) -> -(SP)
RET_POPPED
L0001: TEST_ATTR G1e,#00 [FALSE] L0002
CALL_VS R0205 (#01,#03,G1e) -> -(SP)
RET_POPPED
L0002: GET_PARENT G08 -> -(SP)
JE (SP)+,G1e [FALSE] L0003
CALL_VS R0205 (#01,#04,G1e) -> -(SP)
RET_POPPED
L0003: GET_PARENT G1e -> L01
JE L01,G08 [FALSE] L0004
CALL_VS R0205 (#01,#05) -> -(SP)
RET_POPPED
L0004: TEST_ATTR L01,#03 [TRUE] L0005
TEST_ATTR L01,#14 [FALSE] L0007
L0005: STORE L04,L01
STORE L03,G19
STORE G19,#0100
CALL_VS R0049 (L01,#04) -> -(SP)
JZ (SP)+ [TRUE] L0006
STORE G19,L03
RTRUE
L0006: STORE G19,L03
L0007: JE L01,L00 [TRUE] L0013
JZ L01 [TRUE] L0013
TEST_ATTR L01,#03 [TRUE] L0010
TEST_ATTR L01,#14 [TRUE] L0010
TEST_ATTR L01,#00 [FALSE] L0008
CALL_VS R0205 (#01,#06,L01) -> -(SP)
RET_POPPED
L0008: TEST_ATTR L01,#17 [FALSE] L0009
CALL_VS R0205 (#01,#07,L01) -> -(SP)
RET_POPPED
L0009: CALL_VS R0205 (#01,#08) -> -(SP)
RET_POPPED
L0010: TEST_ATTR L01,#03 [FALSE] L0011
TEST_ATTR L01,#0e [TRUE] L0011
CALL_VS R0205 (#01,#09,L01) -> -(SP)
RET_POPPED
L0011: GET_PARENT L01 -> L01
JE L01,G08 [FALSE] L0012
STORE L01,L00
L0012: JUMP L0007
L0013: TEST_ATTR G1e,#11 [FALSE] L0014
CALL_VS R0205 (#01,#0a) -> -(SP)
RET_POPPED
L0014: TEST_ATTR G1e,#13 [FALSE] L0015
CALL_VS R0205 (#01,#0b) -> -(SP)
RET_POPPED
L0015: STORE L03,#00
GET_CHILD G08 -> -(SP) [FALSE] L0016
L0016: PULL L02
JZ L02 [TRUE] L0019
L0017: TEST_ATTR L02,#1a [TRUE] L0018
INC L03
L0018: GET_SIBLING L02 -> L02 [TRUE] L0017
L0019: CALL_VS R0048 (G08,#1d) -> -(SP)
JL L03,(SP)+ [TRUE] L0028
JZ #00 [TRUE] L0027
GET_PARENT #00 -> -(SP)
JE (SP)+,G08 [TRUE] L0020
CALL_VS R0205 (#01,#0c) -> -(SP)
RET_POPPED
L0020: STORE L02,#00
GET_CHILD G08 -> -(SP) [FALSE] L0021
L0021: PULL L03
JZ L03 [TRUE] L0024
L0022: JZ L03 [TRUE] L0023
TEST_ATTR L03,#1a [TRUE] L0023
TEST_ATTR L03,#09 [TRUE] L0023
STORE L02,L03
L0023: GET_SIBLING L03 -> L03 [TRUE] L0022
L0024: JZ L02 [TRUE] L0025
CALL_VN R0205 (#01,#0d,L02)
STORE G78,#01
CALL_VN R0059 (#1b,L02,#00)
STORE G78,#00
JIN L02,#00 [FALSE] RTRUE
JUMP L0026
L0025: CALL_VS R0205 (#01,#0c) -> -(SP)
RET_POPPED
L0026: JUMP L0028
L0027: CALL_VS R0205 (#01,#0c) -> -(SP)
RET_POPPED
L0028: INSERT_OBJ G1e,G08
JZ L04 [TRUE] L0030
STORE L03,G19
STORE G19,#0100
CALL_VS R0049 (L04,#05) -> -(SP)
JZ (SP)+ [TRUE] L0029
STORE G19,L03
RTRUE
L0029: STORE G19,L03
L0030: RFALSE
Routine R0119, 1 local
Action routine for:
"put down MULTIHELD"
"put MULTIHELD down"
"discard MULTIHELD"
GET_PARENT G1e -> L00
JE L00,G00 [FALSE] L0001
CALL_VS R0205 (#1c,#01) -> -(SP)
RET_POPPED
L0001: JE L00,G08 [TRUE] L0002
CALL_VS R0205 (#1c,#02) -> -(SP)
RET_POPPED
L0002: TEST_ATTR G1e,#1a [FALSE] L0003
CALL_VN R0205 (#1c,#03,G1e)
CALL_VN R0059 (#1d,G1e)
TEST_ATTR G1e,#1a [TRUE] RTRUE
L0003: GET_PARENT G08 -> -(SP)
INSERT_OBJ G1e,(SP)+
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
CALL_VS R0205 (#1c,#04) -> -(SP)
RET_POPPED
Routine R0120, 1 local
Action routine for:
"carry MULTIINSIDE from NOUN"
"carry MULTIINSIDE off NOUN"
"remove MULTIINSIDE from NOUN"
GET_PARENT G1e -> L00
TEST_ATTR L00,#03 [FALSE] L0001
TEST_ATTR L00,#0e [TRUE] L0001
CALL_VS R0205 (#06,#01) -> -(SP)
RET_POPPED
L0001: JE L00,G1f [TRUE] L0002
CALL_VS R0205 (#06,#02) -> -(SP)
RET_POPPED
L0002: TEST_ATTR L00,#00 [FALSE] L0003
CALL_VS R0205 (#01,#06,L00) -> -(SP)
RET_POPPED
L0003: CALL_2S R0118 (G1f) -> -(SP)
JZ (SP)+ [FALSE] RTRUE
STORE G19,#01
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
STORE G19,#06
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
CALL_VS R0205 (#06,#04) -> -(SP)
RET_POPPED
Routine R0121, 2 locals
L0001: JZ L01 [TRUE] L0002
JE L00,L01 [TRUE] RTRUE
GET_PARENT L01 -> L01
JUMP L0001
L0002: RFALSE
Routine R0122, 0 locals
Action routine for:
"put MULTIEXCEPT on NOUN"
"put MULTIEXCEPT onto NOUN"
"discard MULTIEXCEPT on NOUN"
"discard MULTIEXCEPT onto NOUN"
STORE G79,#1e
JE G1f,#10 [FALSE] L0001
CALL_VN R0059 (#1c,G1e)
RFALSE
L0001: GET_PARENT G1e -> -(SP)
JE (SP)+,G08 [TRUE] L0002
CALL_VS R0205 (#1e,#01,G1e) -> -(SP)
RET_POPPED
L0002: JG G1f,#01 [FALSE] L0004
STORE G19,#0101
CALL_VS R0049 (G1f,#04) -> -(SP)
JZ (SP)+ [TRUE] L0003
STORE G19,#1e
RTRUE
L0003: STORE G19,#1e
L0004: CALL_VS R0121 (G1e,G1f) -> -(SP)
JE (SP)+,#01 [FALSE] L0005
CALL_VS R0205 (#1e,#02) -> -(SP)
RET_POPPED
L0005: TEST_ATTR G1f,#14 [TRUE] L0006
CALL_VS R0205 (#1e,#03,G1f) -> -(SP)
RET_POPPED
L0006: GET_PARENT G1f -> -(SP)
JE (SP)+,G08 [FALSE] L0007
CALL_VS R0205 (#1e,#04) -> -(SP)
RET_POPPED
L0007: TEST_ATTR G1e,#1a [FALSE] L0008
CALL_VN R0205 (#1e,#05)
CALL_VN R0059 (#1d,G1e)
TEST_ATTR G1e,#1a [TRUE] RTRUE
L0008: CALL_VS R0048 (G1f,#1d) -> -(SP)
STORE Gef,#00
GET_CHILD G1f -> -(SP) [FALSE] L0010
L0009: INC Gef
GET_SIBLING (SP)+ -> -(SP) [TRUE] L0009
L0010: PULL Gee
PUSH Gef
JL (SP)+,(SP)+ [TRUE] L0011
CALL_VS R0205 (#1e,#06,G1f) -> -(SP)
RET_POPPED
L0011: INSERT_OBJ G1e,G1f
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JG G1f,#01 [FALSE] L0013
STORE G19,#0101
CALL_VS R0049 (G1f,#05) -> -(SP)
JZ (SP)+ [TRUE] L0012
STORE G19,#1e
RTRUE
L0012: STORE G19,#1e
L0013: JE G78,#01 [TRUE] RTRUE
JE G23,#01 [FALSE] L0014
CALL_VS R0205 (#1e,#07) -> -(SP)
RET_POPPED
L0014: CALL_VN R0205 (#1e,#08,G1e)
RTRUE
Routine R0123, 0 locals
Action routine for:
"put MULTIEXCEPT in NOUN"
"put MULTIEXCEPT inside NOUN"
"put MULTIEXCEPT into NOUN"
"insert MULTIEXCEPT in NOUN"
"insert MULTIEXCEPT into NOUN"
"discard MULTIEXCEPT in NOUN"
"discard MULTIEXCEPT into NOUN"
"discard MULTIEXCEPT down NOUN"
STORE G79,#1b
JE G1f,#10 [FALSE] L0001
CALL_VN R0059 (#1c,G1e)
RTRUE
L0001: GET_PARENT G1e -> -(SP)
JE (SP)+,G08 [TRUE] L0002
CALL_VS R0205 (#1b,#01) -> -(SP)
RET_POPPED
L0002: JG G1f,#01 [FALSE] L0004
STORE G19,#0101
CALL_VS R0049 (G1f,#04) -> -(SP)
JZ (SP)+ [TRUE] L0003
STORE G19,#1b
RTRUE
L0003: STORE G19,#1b
L0004: TEST_ATTR G1f,#03 [TRUE] L0005
CALL_VS R0205 (#1b,#02) -> -(SP)
RET_POPPED
L0005: TEST_ATTR G1f,#0e [TRUE] L0006
CALL_VS R0205 (#1b,#03) -> -(SP)
RET_POPPED
L0006: CALL_VS R0121 (G1e,G1f) -> -(SP)
JE (SP)+,#01 [FALSE] L0007
CALL_VS R0205 (#1b,#05) -> -(SP)
RET_POPPED
L0007: TEST_ATTR G1e,#1a [FALSE] L0008
CALL_VN R0205 (#1b,#06)
CALL_VN R0059 (#1d,G1e)
TEST_ATTR G1e,#1a [TRUE] RTRUE
L0008: CALL_VS R0048 (G1f,#1d) -> -(SP)
STORE Gef,#00
GET_CHILD G1f -> -(SP) [FALSE] L0010
L0009: INC Gef
GET_SIBLING (SP)+ -> -(SP) [TRUE] L0009
L0010: PULL Gee
PUSH Gef
JL (SP)+,(SP)+ [TRUE] L0011
CALL_VS R0205 (#1b,#07,G1f) -> -(SP)
RET_POPPED
L0011: INSERT_OBJ G1e,G1f
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JG G1f,#01 [FALSE] L0013
STORE G19,#0101
CALL_VS R0049 (G1f,#05) -> -(SP)
JZ (SP)+ [TRUE] L0012
STORE G19,#1b
RTRUE
L0012: STORE G19,#1b
L0013: JE G78,#01 [TRUE] RTRUE
JE G23,#01 [FALSE] L0014
CALL_VS R0205 (#1b,#08) -> -(SP)
RET_POPPED
L0014: CALL_VN R0205 (#1b,#09,G1e)
RTRUE
Routine R0124, 5 locals
Action routine for:
"transfer NOUN to NOUN"
"clear NOUN to NOUN"
STORE L01,#1c
TEST_ATTR G1f,#03 [FALSE] L0001
STORE L01,#1b
JUMP L0002
L0001: TEST_ATTR G1f,#14 [FALSE] L0002
STORE L01,#1e
L0002: GET_PARENT G1e -> L00
JE L00,G08 [TRUE] L0007
L0003: JZ L00 [TRUE] L0006
TEST_ATTR L00,#0e [TRUE] L0004
CALL_VS R0205 (#1f,#01) -> -(SP)
RET_POPPED
L0004: GET_PARENT L00 -> L00
JE L00,G08 [FALSE] L0005
JUMP L0007
L0005: JUMP L0003
L0006: CALL_VS R0205 (#1f,#02) -> -(SP)
RET_POPPED
L0007: JIN G1e,G08 [TRUE] L0012
GET_PARENT G1e -> L04
TEST_ATTR L04,#03 [TRUE] L0008
TEST_ATTR L04,#14 [FALSE] L0010
L0008: STORE L03,L04
STORE L02,G19
STORE G19,#0100
CALL_VS R0049 (L04,#04) -> -(SP)
JZ (SP)+ [TRUE] L0009
STORE G19,L02
RTRUE
L0009: STORE G19,L02
L0010: INSERT_OBJ G1e,G08
JZ L03 [TRUE] L0012
STORE L02,G19
STORE G19,#0100
CALL_VS R0049 (L03,#05) -> -(SP)
JZ (SP)+ [TRUE] L0011
STORE G19,L02
RTRUE
L0011: STORE G19,L02
L0012: JE L01,#1c [FALSE] L0013
CALL_VN R0059 (#1c,G1e)
RTRUE
L0013: JE L01,#1b [FALSE] L0014
CALL_VN R0059 (#1b,G1e,G1f)
RTRUE
L0014: JE L01,#1e [FALSE] L0015
CALL_VN R0059 (#1e,G1e,G1f)
RTRUE
L0015: RTRUE
Routine R0125, 0 locals
Action routine for:
"empty NOUN"
"empty out NOUN"
"empty NOUN out"
"douse NOUN"
STORE G1f,#10
CALL_1N R0126
RTRUE
Routine R0126, 2 locals
Action routine for:
"empty NOUN to NOUN"
"empty NOUN into NOUN"
"empty NOUN on NOUN"
"empty NOUN onto NOUN"
TEST_ATTR G1e,#03 [TRUE] L0001
CALL_VS R0205 (#20,#01,G1e) -> -(SP)
RET_POPPED
L0001: TEST_ATTR G1e,#0e [TRUE] L0002
CALL_VS R0205 (#20,#02,G1e) -> -(SP)
RET_POPPED
L0002: JE G1f,#10 [TRUE] L0004
TEST_ATTR G1f,#03 [TRUE] L0003
CALL_VS R0205 (#20,#01,G1f) -> -(SP)
RET_POPPED
L0003: TEST_ATTR G1f,#0e [TRUE] L0004
CALL_VS R0205 (#20,#02,G1f) -> -(SP)
RET_POPPED
L0004: GET_CHILD G1e -> L00 [FALSE] L0005
L0005: JZ L00 [FALSE] L0006
CALL_VS R0205 (#20,#03,G1e) -> -(SP)
RET_POPPED
L0006: JZ L00 [TRUE] L0008
GET_SIBLING L00 -> L01 [FALSE] L0007
L0007: CALL_2N R0079 (L00)
PRINT ": "
CALL_VN R0059 (#1f,L00,G1f)
STORE L00,L01
JUMP L0006
L0008: RTRUE
Routine R0127, 0 locals
Action routine for:
"feed HELD to CREATURE"
"feed over HELD to CREATURE"
GET_PARENT G1e -> -(SP)
JE (SP)+,G08 [TRUE] L0001
CALL_VS R0205 (#0a,#01,G1e) -> -(SP)
RET_POPPED
L0001: JE G1f,G08 [FALSE] L0002
CALL_VS R0205 (#0a,#02,G1e) -> -(SP)
RET_POPPED
L0002: CALL_VS R0060 (G1f,#0a) -> -(SP)
JZ (SP)+ [FALSE] RFALSE
CALL_VN R0205 (#0a,#03,G1f)
RTRUE
Routine R0128, 0 locals
Action routine for:
"feed CREATURE HELD"
CALL_VN R0059 (#0a,G1f,G1e)
RTRUE
Routine R0129, 0 locals
Action routine for:
"display HELD to CREATURE"
GET_PARENT G1e -> -(SP)
JE (SP)+,G08 [TRUE] L0001
CALL_VS R0205 (#0b,#01,G1e) -> -(SP)
RET_POPPED
L0001: JE G1f,G08 [FALSE] L0002
CALL_VN R0059 (#21,G1e)
RTRUE
L0002: CALL_VS R0060 (G1f,#0b) -> -(SP)
JZ (SP)+ [FALSE] RFALSE
CALL_VN R0205 (#0b,#02,G1f)
RTRUE
Routine R0130, 0 locals
Action routine for:
"display CREATURE HELD"
CALL_VN R0059 (#0b,G1f,G1e)
RTRUE
Routine R0131, 1 local
Action routine for:
"carry in NOUN"
"carry into NOUN"
"carry on NOUN"
"stand on NOUN"
"go NOUN"
"go into NOUN"
"go in NOUN"
"go inside NOUN"
"go through NOUN"
"cross NOUN"
"lie on NOUN"
"lie in NOUN"
"lie inside NOUN"
TEST_ATTR G1e,#04 [FALSE] L0001
CALL_VN R0059 (#00,G1e)
RTRUE
L0001: GET_PARENT G08 -> L00
JE L00,G00 [TRUE] L0002
CALL_VS R0205 (#22,#01,L00) -> -(SP)
RET_POPPED
L0002: GET_PARENT G1e -> L00
JE L00,#06 [FALSE] L0003
CALL_VN R0059 (#00,G1e)
RTRUE
L0003: TEST_ATTR G1e,#06 [TRUE] L0004
CALL_VS R0205 (#22,#02) -> -(SP)
RET_POPPED
L0004: TEST_ATTR G1e,#03 [FALSE] L0005
TEST_ATTR G1e,#0e [TRUE] L0005
CALL_VS R0205 (#22,#03,G1e) -> -(SP)
RET_POPPED
L0005: JE L00,G00 [TRUE] L0006
CALL_VS R0205 (#22,#04) -> -(SP)
RET_POPPED
L0006: INSERT_OBJ G08,G1e
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
CALL_VN R0205 (#22,#05,G1e)
CALL_2N R0138 (G1e)
RTRUE
Routine R0132, 0 locals
Action routine for:
"carry off NOUN"
GET_PARENT G08 -> -(SP)
JE (SP)+,G1e [FALSE] L0001
CALL_2N R0059 (#23)
RTRUE
L0001: CALL_VN R0205 (#24,#01,G1e)
RTRUE
Routine R0133, 1 local
Action routine for:
"carry out"
"carry off"
"carry up"
"stand"
"stand up"
"exit"
GET_PARENT G08 -> L00
JE L00,G00 [TRUE] L0001
JE G00,#13 [FALSE] L0004
JE L00,G0a [FALSE] L0004
L0001: GET_PROP G00,#12 -> -(SP)
JZ (SP)+ [FALSE] L0002
JE G00,#13 [FALSE] L0003
GET_PROP G0a,#12 -> -(SP)
JZ (SP)+ [TRUE] L0003
L0002: CALL_VN R0059 (#00,#11)
RTRUE
L0003: CALL_VS R0205 (#23,#01) -> -(SP)
RET_POPPED
L0004: TEST_ATTR L00,#03 [FALSE] L0005
TEST_ATTR L00,#0e [TRUE] L0005
CALL_VS R0205 (#23,#02,L00) -> -(SP)
RET_POPPED
L0005: JE G00,#13 [FALSE] L0006
INSERT_OBJ G08,G0a
JUMP L0007
L0006: INSERT_OBJ G08,G00
L0007: CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
CALL_VN R0205 (#23,#03,L00)
CALL_2N R0144 (#01)
RTRUE
Routine R0134, 0 locals
Action routine for:
"go"
CALL_2N R0205 (#25)
RTRUE
Routine R0135, 0 locals
Action routine for:
"cross"
"in"
CALL_VN R0059 (#00,#12)
RTRUE
Routine R0136, 6 locals
Action routine for:
"go NOUN [parse 0]"
STORE L04,#00
GET_PARENT G08 -> L00
JE G00,#13 [TRUE] L0001
JE L00,G00 [FALSE] L0002
L0001: JE G00,#13 [FALSE] L0007
JE L00,G0a [TRUE] L0007
L0002: STORE L01,G00
JE G00,#13 [FALSE] L0003
STORE G00,G0a
L0003: CALL_VS R0049 (L00,#04) -> L02
JE L02,#03 [TRUE] L0004
STORE G00,L01
L0004: JE L02,#01 [FALSE] L0005
STORE L04,L00
GET_PARENT L00 -> L00
JUMP L0007
L0005: JZ L02 [FALSE] L0006
CALL_VN R0205 (#00,#01,L00)
L0006: RTRUE
L0007: GET_PROP G1e,#0a -> L05
CALL_2S R0046 (L05) -> -(SP)
JE (SP)+,#02 [FALSE] L0008
CALL_VS R0049 (G1e,#0a) -> L05
L0008: CALL_VS R0377 (L00,L05) -> L01
CALL_2S R0046 (L01) -> L02
JE L02,#03 [FALSE] L0009
PRINT_PADDR L01
NEW_LINE
RFALSE
L0009: JE L02,#02 [FALSE] L0010
CALL_VS R0049 (L00,L05) -> L01
JE L01,#01 [TRUE] RTRUE
L0010: JZ L02 [TRUE] L0011
JZ L01 [FALSE] L0013
L0011: GET_PROP L00,#17 -> -(SP)
JZ (SP)+ [TRUE] L0012
CALL_VN R0047 (L00,#17)
L0012: RFALSE
L0013: TEST_ATTR L01,#04 [FALSE] L0021
TEST_ATTR L01,#02 [FALSE] L0014
CALL_VS R0205 (#00,#02) -> -(SP)
RET_POPPED
L0014: TEST_ATTR L01,#0e [TRUE] L0017
JE G1e,#0f [FALSE] L0015
CALL_VS R0205 (#00,#03,L01) -> -(SP)
RET_POPPED
L0015: JE G1e,#10 [FALSE] L0016
CALL_VS R0205 (#00,#04,L01) -> -(SP)
RET_POPPED
L0016: CALL_VS R0205 (#00,#05,L01) -> -(SP)
RET_POPPED
L0017: GET_PROP L01,#07 -> -(SP)
CALL_2S R0046 ((SP)+) -> -(SP)
JE (SP)+,#02 [FALSE] L0018
CALL_VS R0049 (L01,#07) -> L01
JUMP L0019
L0018: GET_PROP L01,#07 -> L01
L0019: JZ L01 [FALSE] L0020
CALL_VS R0205 (#00,#06,L01) -> -(SP)
RET_POPPED
L0020: JE L01,#01 [TRUE] RTRUE
L0021: JZ L04 [FALSE] L0022
INSERT_OBJ G08,L01
JUMP L0023
L0022: INSERT_OBJ L04,L01
L0023: CALL_2S R0069 (L01) -> L03
JZ L03 [TRUE] L0024
STORE G00,L01
STORE G09,#01
JUMP L0026
L0024: JE G00,#13 [FALSE] L0025
CALL_1N R0331
L0025: STORE G0a,L01
STORE G00,#13
STORE G09,#00
L0026: CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
CALL_2N R0144 (#01)
RTRUE
Routine R0137, 3 locals
GET_PARENT G08 -> -(SP)
JE L00,(SP)+ [TRUE] RFALSE
GET_CHILD L00 -> -(SP) [FALSE] L0001
L0001: PULL L01
JZ L01 [TRUE] L0004
L0002: TEST_ATTR L01,#02 [TRUE] L0003
TEST_ATTR L01,#11 [TRUE] L0003
STORE L02,#01
L0003: GET_SIBLING L01 -> L01 [TRUE] L0002
L0004: JZ L02 [TRUE] RFALSE
CALL_VN R0205 (#07,#04,L00)
RTRUE
Routine R0138, 9 locals
GET_CHILD L00 -> -(SP) [FALSE] L0001
L0001: PULL L03
JZ L03 [TRUE] L0003
L0002: CLEAR_ATTR L03,#19
GET_SIBLING L03 -> L03 [TRUE] L0002
L0003: STORE L05,#00
GET_CHILD L00 -> -(SP) [FALSE] L0004
L0004: PULL L03
JZ L03 [TRUE] L0016
L0005: TEST_ATTR L03,#02 [TRUE] L0015
GET_PARENT G08 -> -(SP)
JE L03,(SP)+ [TRUE] L0015
TEST_ATTR L03,#11 [TRUE] L0013
SET_ATTR L03,#19
INC L05
STORE L04,#13
STORE L08,#00
TEST_ATTR L03,#04 [FALSE] L0006
TEST_ATTR L03,#0e [TRUE] L0006
STORE L04,#08
STORE L08,#01
L0006: TEST_ATTR L03,#15 [FALSE] L0007
TEST_ATTR L03,#0d [TRUE] L0007
STORE L04,#08
STORE L08,#01
L0007: TEST_ATTR L03,#03 [FALSE] L0008
TEST_ATTR L03,#0e [TRUE] L0008
GET_PROP_ADDR L03,#08 -> -(SP)
JZ (SP)+ [TRUE] L0008
STORE L04,#08
STORE L08,#01
L0008: TEST_ATTR L03,#0c [FALSE] L0009
GET_PROP L03,#15 -> -(SP)
JE (SP)+,#ffff [FALSE] L0009
JE L08,#01 [FALSE] L0012
L0009: GET_PROP L03,#15 -> -(SP)
JE (SP)+,#ffff [TRUE] L0010
CALL_VS R0049 (L03,#15) -> -(SP)
JZ (SP)+ [TRUE] L0010
STORE L07,#01
CLEAR_ATTR L03,#19
DEC L05
JUMP L0012
L0010: CALL_VS R0377 (L03,L04) -> L06
JZ L06 [TRUE] L0012
NEW_LINE
CALL_VN R0047 (L03,L04)
STORE L07,#01
CLEAR_ATTR L03,#19
DEC L05
TEST_ATTR L03,#14 [FALSE] L0012
GET_CHILD L03 -> -(SP) [FALSE] L0011
L0011: JZ (SP)+ [TRUE] L0012
CALL_2N R0137 (L03)
L0012: JUMP L0015
L0013: TEST_ATTR L03,#14 [FALSE] L0015
GET_CHILD L03 -> -(SP) [FALSE] L0014
L0014: JZ (SP)+ [TRUE] L0015
CALL_2N R0137 (L03)
L0015: GET_SIBLING L03 -> L03 [TRUE] L0005
L0016: JZ L05 [FALSE] L0017
RFALSE
L0017: JZ L01 [TRUE] L0020
NEW_LINE
JE L07,#01 [FALSE] L0018
STORE L01,L02
L0018: PRINT_PADDR L01
PRINT " "
GET_CHILD L00 -> -(SP) [FALSE] L0019
L0019: CALL_VN R0091 ((SP)+,#0ad8)
RET L05
L0020: JE L07,#01 [FALSE] L0021
CALL_VN R0205 (#07,#05,L00)
JUMP L0022
L0021: CALL_VN R0205 (#07,#06,L00)
L0022: RTRUE
Routine R0139, 0 locals
Action routine for:
"brief"
STORE G12,#01
PRINT_PADDR S001
CALL_2N R0205 (#26)
RTRUE
Routine R0140, 0 locals
Action routine for:
"long"
STORE G12,#02
PRINT_PADDR S001
CALL_2N R0205 (#27)
RTRUE
Routine R0141, 0 locals
Action routine for:
"short"
STORE G12,#03
PRINT_PADDR S001
CALL_2N R0205 (#28)
RTRUE
Routine R0142, 1 local
STORE L00,G00
JE L00,G13 [TRUE] L0002
GET_PROP L00,#13 -> -(SP)
JZ (SP)+ [TRUE] L0001
CALL_VN R0047 (L00,#13)
L0001: CALL_1N R0362
CALL_1N R0095
STORE G13,L00
L0002: RTRUE
Routine R0143, 0 locals
TEST_ATTR G00,#18 [TRUE] L0001
SET_ATTR G00,#18
TEST_ATTR G00,#12 [FALSE] L0001
ADD G06,#05 -> G06
ADD G10,#05 -> G10
L0001: RTRUE
Routine R0144, 3 locals
Action routine for:
"l"
GET_PARENT G08 -> -(SP)
JZ (SP)+ [FALSE] L0001
CALL_2S R0083 (#0a) -> -(SP)
RET_POPPED
L0001: CALL_1N R0142
NEW_LINE
SET_TEXT_STYLE BOLDFACE
CALL_2N R0079 (G00)
SET_TEXT_STYLE ROMAN
GET_PARENT G08 -> L01
JE G00,#13 [TRUE] L0004
JE L01,G00 [TRUE] L0004
TEST_ATTR L01,#14 [FALSE] L0002
PRINT " ("
CALL_VN R0205 (#07,#01)
PRINT " "
JUMP L0003
L0002: PRINT " ("
CALL_VN R0205 (#07,#02)
PRINT " "
L0003: CALL_2N R0077 (L01)
PRINT ")"
STORE L02,L01
L0004: JE G0b,#01 [FALSE] L0005
PRINT " ("
CALL_VN R0205 (#07,#03)
PRINT " "
PRINT_OBJ G08
PRINT ")"
L0005: NEW_LINE
JL G12,#03 [FALSE] L0009
JE L00,#01 [FALSE] L0006
JE G12,#02 [TRUE] L0006
TEST_ATTR G00,#18 [TRUE] L0009
L0006: GET_PROP G00,#15 -> -(SP)
JE (SP)+,#ffff [TRUE] L0007
CALL_VN R0049 (G00,#15)
JUMP L0009
L0007: GET_PROP G00,#14 -> -(SP)
JZ (SP)+ [FALSE] L0008
CALL_VN R0083 (#0b,G00)
JUMP L0009
L0008: CALL_VN R0047 (G00,#14)
L0009: JE L02,G00 [TRUE] L0010
CALL_2N R0138 (G00)
L0010: CALL_2N R0138 (L02)
CALL_1N R0363
CALL_1N R0143
STORE G19,#07
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
RTRUE
Routine R0145, 1 local
Action routine for:
"l at NOUN"
"check NOUN"
"read NOUN"
JE G00,#13 [FALSE] L0001
CALL_VS R0205 (#21,#01) -> -(SP)
RET_POPPED
L0001: GET_PROP G1e,#14 -> L00
JZ L00 [FALSE] L0004
TEST_ATTR G1e,#03 [FALSE] L0002
CALL_VN R0059 (#29,G1e)
RTRUE
L0002: TEST_ATTR G1e,#15 [FALSE] L0003
CALL_VN R0205 (#21,#03,G1e)
RFALSE
L0003: CALL_VS R0205 (#21,#02,G1e) -> -(SP)
RET_POPPED
L0004: CALL_VN R0047 (G1e,#14)
TEST_ATTR G1e,#15 [FALSE] L0005
CALL_VN R0205 (#21,#03,G1e)
L0005: CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
RTRUE
Routine R0146, 0 locals
Action routine for:
"l under NOUN"
JE G00,#13 [FALSE] L0001
CALL_VS R0205 (#2a,#01) -> -(SP)
RET_POPPED
L0001: CALL_VN R0205 (#2a,#02)
RTRUE
Routine R0147, 2 locals
Action routine for:
"l inside NOUN"
"l in NOUN"
"l into NOUN"
"l through NOUN"
"search NOUN"
JE G00,#13 [FALSE] L0001
CALL_VS R0205 (#29,#01) -> -(SP)
RET_POPPED
L0001: GET_CHILD G1e -> -(SP) [FALSE] L0002
L0002: PULL L00
JZ L00 [TRUE] L0005
L0003: TEST_ATTR L00,#02 [TRUE] L0004
STORE L01,#01
L0004: GET_SIBLING L00 -> L00 [TRUE] L0003
L0005: TEST_ATTR G1e,#14 [FALSE] L0007
JZ L01 [FALSE] L0006
CALL_VS R0205 (#29,#02,G1e) -> -(SP)
RET_POPPED
L0006: CALL_VS R0205 (#29,#03,G1e) -> -(SP)
RET_POPPED
L0007: TEST_ATTR G1e,#03 [TRUE] L0008
CALL_VS R0205 (#29,#04) -> -(SP)
RET_POPPED
L0008: TEST_ATTR G1e,#17 [TRUE] L0009
TEST_ATTR G1e,#0e [TRUE] L0009
CALL_VS R0205 (#29,#05) -> -(SP)
RET_POPPED
L0009: CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
STORE Gef,#00
GET_CHILD G1e -> -(SP) [FALSE] L0011
L0010: INC Gef
GET_SIBLING (SP)+ -> -(SP) [TRUE] L0010
L0011: PULL Gee
STORE L00,Gef
JZ L01 [FALSE] L0012
CALL_VS R0205 (#29,#06,G1e) -> -(SP)
RET_POPPED
L0012: CALL_VN R0205 (#29,#07,G1e)
RTRUE
Routine R0148, 0 locals
Action routine for:
"open NOUN with HELD"
"unlock NOUN with HELD"
TEST_ATTR G1e,#0a [TRUE] L0001
CALL_VS R0205 (#2b,#01) -> -(SP)
RET_POPPED
L0001: TEST_ATTR G1e,#0b [TRUE] L0002
CALL_VS R0205 (#2b,#02) -> -(SP)
RET_POPPED
L0002: GET_PROP G1e,#09 -> -(SP)
JE (SP)+,G1f [TRUE] L0003
CALL_VS R0205 (#2b,#03) -> -(SP)
RET_POPPED
L0003: CLEAR_ATTR G1e,#0b
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
CALL_VN R0205 (#2b,#04,G1e)
RTRUE
Routine R0149, 0 locals
Action routine for:
"lock NOUN with HELD"
TEST_ATTR G1e,#0a [TRUE] L0001
CALL_VS R0205 (#2c,#01) -> -(SP)
RET_POPPED
L0001: TEST_ATTR G1e,#0b [FALSE] L0002
CALL_VS R0205 (#2c,#02) -> -(SP)
RET_POPPED
L0002: TEST_ATTR G1e,#0e [FALSE] L0003
CALL_VS R0205 (#2c,#03) -> -(SP)
RET_POPPED
L0003: GET_PROP G1e,#09 -> -(SP)
JE (SP)+,G1f [TRUE] L0004
CALL_VS R0205 (#2c,#04) -> -(SP)
RET_POPPED
L0004: SET_ATTR G1e,#0b
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
CALL_VN R0205 (#2c,#05,G1e)
RTRUE
Routine R0150, 0 locals
Action routine for:
"rotate NOUN on"
"rotate on NOUN"
"switch NOUN"
"switch NOUN on"
"switch on NOUN"
TEST_ATTR G1e,#15 [TRUE] L0001
CALL_VS R0205 (#2d,#01) -> -(SP)
RET_POPPED
L0001: TEST_ATTR G1e,#0d [FALSE] L0002
CALL_VS R0205 (#2d,#02) -> -(SP)
RET_POPPED
L0002: SET_ATTR G1e,#0d
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
CALL_VN R0205 (#2d,#03,G1e)
RTRUE
Routine R0151, 0 locals
Action routine for:
"close off NOUN"
"rotate NOUN off"
"rotate off NOUN"
"switch NOUN off"
"switch off NOUN"
TEST_ATTR G1e,#15 [TRUE] L0001
CALL_VS R0205 (#2e,#01) -> -(SP)
RET_POPPED
L0001: TEST_ATTR G1e,#0d [TRUE] L0002
CALL_VS R0205 (#2e,#02) -> -(SP)
RET_POPPED
L0002: CLEAR_ATTR G1e,#0d
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
CALL_VN R0205 (#2e,#03,G1e)
RTRUE
Routine R0152, 0 locals
Action routine for:
"open NOUN"
TEST_ATTR G1e,#0f [TRUE] L0001
CALL_VS R0205 (#2f,#01) -> -(SP)
RET_POPPED
L0001: TEST_ATTR G1e,#0b [FALSE] L0002
CALL_VS R0205 (#2f,#02) -> -(SP)
RET_POPPED
L0002: TEST_ATTR G1e,#0e [FALSE] L0003
CALL_VS R0205 (#2f,#03) -> -(SP)
RET_POPPED
L0003: SET_ATTR G1e,#0e
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
TEST_ATTR G1e,#03 [FALSE] L0005
TEST_ATTR G1e,#17 [TRUE] L0005
GET_CHILD G1e -> -(SP) [FALSE] L0004
L0004: JZ (SP)+ [TRUE] L0005
CALL_VS R0205 (#2f,#04,G1e) -> -(SP)
RET_POPPED
L0005: CALL_VN R0205 (#2f,#05,G1e)
RTRUE
Routine R0153, 0 locals
Action routine for:
"close NOUN"
"close up"
TEST_ATTR G1e,#0f [TRUE] L0001
CALL_VS R0205 (#30,#01) -> -(SP)
RET_POPPED
L0001: TEST_ATTR G1e,#0e [TRUE] L0002
CALL_VS R0205 (#30,#02) -> -(SP)
RET_POPPED
L0002: CLEAR_ATTR G1e,#0e
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
CALL_VN R0205 (#30,#03,G1e)
RTRUE
Routine R0154, 0 locals
Action routine for:
"carry off ATTRIBUTE(26)"
"remove HELD"
"disrobe HELD"
TEST_ATTR G1e,#1a [TRUE] L0001
CALL_VS R0205 (#1d,#01) -> -(SP)
RET_POPPED
L0001: CLEAR_ATTR G1e,#1a
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
CALL_VN R0205 (#1d,#02,G1e)
RTRUE
Routine R0155, 0 locals
Action routine for:
"don HELD"
"put on HELD"
TEST_ATTR G1e,#01 [TRUE] L0001
CALL_VS R0205 (#31,#01) -> -(SP)
RET_POPPED
L0001: GET_PARENT G1e -> -(SP)
JE (SP)+,G08 [TRUE] L0002
CALL_VS R0205 (#31,#02) -> -(SP)
RET_POPPED
L0002: TEST_ATTR G1e,#1a [FALSE] L0003
CALL_VS R0205 (#31,#03) -> -(SP)
RET_POPPED
L0003: SET_ATTR G1e,#1a
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
CALL_VN R0205 (#31,#04,G1e)
RTRUE
Routine R0156, 0 locals
Action routine for:
"eat HELD"
TEST_ATTR G1e,#05 [TRUE] L0001
CALL_VS R0205 (#32,#01) -> -(SP)
RET_POPPED
L0001: REMOVE_OBJ G1e
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
JE G78,#01 [TRUE] RTRUE
CALL_VN R0205 (#32,#02,G1e)
RTRUE
Routine R0157, 0 locals
Action routine for:
"y"
CALL_2N R0205 (#33)
RTRUE
Routine R0158, 0 locals
Action routine for:
"no"
CALL_2N R0205 (#34)
RTRUE
Routine R0159, 0 locals
Action routine for:
"burn NOUN"
"burn NOUN with HELD"
CALL_2N R0205 (#35)
RTRUE
Routine R0160, 0 locals
Action routine for:
"pray"
CALL_2N R0205 (#36)
RTRUE
Routine R0161, 0 locals
Action routine for:
"awake"
"awake up"
CALL_2N R0205 (#37)
RTRUE
Routine R0162, 0 locals
Action routine for:
"awake CREATURE"
"awake CREATURE up"
"awake up CREATURE"
CALL_VS R0060 (G1e,#38) -> -(SP)
JZ (SP)+ [FALSE] RFALSE
CALL_2N R0205 (#38)
RTRUE
Routine R0163, 0 locals
Action routine for:
"think"
CALL_2N R0205 (#39)
RTRUE
Routine R0164, 0 locals
Action routine for:
"smell"
"smell NOUN"
CALL_2N R0205 (#3a)
RTRUE
Routine R0165, 0 locals
Action routine for:
"hear"
"hear NOUN"
"hear to NOUN"
CALL_2N R0205 (#3b)
RTRUE
Routine R0166, 0 locals
Action routine for:
"taste NOUN"
CALL_2N R0205 (#3c)
RTRUE
Routine R0167, 0 locals
Action routine for:
"dig NOUN"
"dig NOUN with HELD"
CALL_2N R0205 (#3d)
RTRUE
Routine R0168, 0 locals
Action routine for:
"chop NOUN"
CALL_2N R0205 (#3e)
RTRUE
Routine R0169, 0 locals
Action routine for:
"hop"
CALL_2N R0205 (#3f)
RTRUE
Routine R0170, 0 locals
Action routine for:
"hop over NOUN"
CALL_2N R0205 (#40)
RTRUE
Routine R0171, 0 locals
Action routine for:
"attach NOUN"
"attach NOUN to NOUN"
CALL_2N R0205 (#41)
RTRUE
Routine R0172, 0 locals
Action routine for:
"drink NOUN"
CALL_2N R0205 (#42)
RTRUE
Routine R0173, 0 locals
Action routine for:
"fill NOUN"
CALL_2N R0205 (#43)
RTRUE
Routine R0174, 0 locals
Action routine for:
"sorry"
CALL_2N R0205 (#44)
RTRUE
Routine R0175, 0 locals
Action routine for:
"damn"
"damn SPECIAL"
CALL_2N R0205 (#45)
RTRUE
Routine R0176, 0 locals
Action routine for:
"bother"
"bother SPECIAL"
CALL_2N R0205 (#46)
RTRUE
Routine R0177, 0 locals
Action routine for:
"dive"
CALL_2N R0205 (#47)
RTRUE
Routine R0178, 0 locals
Action routine for:
"swing NOUN"
"swing on NOUN"
CALL_2N R0205 (#48)
RTRUE
Routine R0179, 0 locals
Action routine for:
"blow HELD"
CALL_2N R0205 (#49)
RTRUE
Routine R0180, 0 locals
Action routine for:
"clean NOUN"
CALL_2N R0205 (#4a)
RTRUE
Routine R0181, 0 locals
Action routine for:
"adjust NOUN"
CALL_2N R0205 (#4b)
RTRUE
Routine R0182, 0 locals
Action routine for:
"adjust NOUN to SPECIAL"
CALL_2N R0205 (#4c)
RTRUE
Routine R0183, 0 locals
Action routine for:
"wave"
CALL_2N R0205 (#4d)
RTRUE
Routine R0184, 0 locals
Action routine for:
"buy NOUN"
CALL_2N R0205 (#4e)
RTRUE
Routine R0185, 0 locals
Action routine for:
"sing"
CALL_2N R0205 (#4f)
RTRUE
Routine R0186, 0 locals
Action routine for:
"climb NOUN"
"climb up NOUN"
"climb over NOUN"
CALL_2N R0205 (#50)
RTRUE
Routine R0187, 0 locals
Action routine for:
"nap"
CALL_2N R0205 (#51)
RTRUE
Routine R0188, 0 locals
Action routine for:
"l up TEXT [parse 1] in NOUN"
"consult NOUN about TEXT [parse 2]"
"consult NOUN on TEXT [parse 2]"
"read about TEXT [parse 1] in NOUN"
"read TEXT [parse 1] in NOUN"
CALL_VN R0205 (#52,#01,G1e)
RTRUE
Routine R0189, 0 locals
Action routine for:
"feel NOUN"
JE G1e,G08 [FALSE] L0001
CALL_VS R0205 (#53,#03) -> -(SP)
RET_POPPED
L0001: TEST_ATTR G1e,#00 [FALSE] L0002
CALL_VS R0205 (#53,#01) -> -(SP)
RET_POPPED
L0002: CALL_VN R0205 (#53,#02)
RTRUE
Routine R0190, 0 locals
Action routine for:
"wave NOUN"
GET_PARENT G1e -> -(SP)
JE (SP)+,G08 [TRUE] L0001
CALL_VS R0205 (#54,#01) -> -(SP)
RET_POPPED
L0001: CALL_VN R0205 (#54,#02,G1e)
RTRUE
Routine R0191, 0 locals
Action routine for:
"drag NOUN"
TEST_ATTR G1e,#13 [FALSE] L0001
CALL_VS R0205 (#55,#01) -> -(SP)
RET_POPPED
L0001: TEST_ATTR G1e,#11 [FALSE] L0002
CALL_VS R0205 (#55,#02) -> -(SP)
RET_POPPED
L0002: TEST_ATTR G1e,#00 [FALSE] L0003
CALL_VS R0205 (#55,#04) -> -(SP)
RET_POPPED
L0003: CALL_VN R0205 (#55,#03)
RTRUE
Routine R0192, 0 locals
Action routine for:
"clear NOUN"
TEST_ATTR G1e,#13 [FALSE] L0001
CALL_VS R0205 (#56,#01) -> -(SP)
RET_POPPED
L0001: TEST_ATTR G1e,#11 [FALSE] L0002
CALL_VS R0205 (#56,#02) -> -(SP)
RET_POPPED
L0002: TEST_ATTR G1e,#00 [FALSE] L0003
CALL_VS R0205 (#55,#04) -> -(SP)
RET_POPPED
L0003: CALL_VN R0205 (#56,#03)
RTRUE
Routine R0193, 0 locals
Action routine for:
"rotate NOUN"
TEST_ATTR G1e,#13 [FALSE] L0001
CALL_VS R0205 (#57,#01) -> -(SP)
RET_POPPED
L0001: TEST_ATTR G1e,#11 [FALSE] L0002
CALL_VS R0205 (#57,#02) -> -(SP)
RET_POPPED
L0002: TEST_ATTR G1e,#00 [FALSE] L0003
CALL_VS R0205 (#55,#04) -> -(SP)
RET_POPPED
L0003: CALL_VN R0205 (#57,#03)
RTRUE
Routine R0194, 0 locals
Action routine for:
"wait"
CALL_1S R0058 -> -(SP)
JE (SP)+,#01 [TRUE] RTRUE
CALL_2N R0205 (#58)
RTRUE
Routine R0195, 0 locals
Action routine for:
"clear NOUN NOUN"
CALL_VN R0205 (#59,#01)
RTRUE
Routine R0196, 1 local
GET_PARENT G1f -> -(SP)
JE (SP)+,#06 [TRUE] L0001
CALL_VS R0205 (#59,#02) -> -(SP)
RET_POPPED
L0001: JE G1f,#0f,#10 [FALSE] L0002
CALL_VS R0205 (#59,#03) -> -(SP)
RET_POPPED
L0002: CALL_1N R0058
STORE L00,G1e
INSERT_OBJ L00,G08
CALL_VN R0059 (#00,G1f)
JE G00,#13 [FALSE] L0003
INSERT_OBJ L00,G0a
JUMP L0004
L0003: INSERT_OBJ L00,G00
L0004: RTRUE
Routine R0197, 0 locals
Action routine for:
"squash NOUN"
TEST_ATTR G1e,#00 [FALSE] L0001
CALL_VS R0205 (#5a,#01) -> -(SP)
RET_POPPED
L0001: CALL_VN R0205 (#5a,#02)
RTRUE
Routine R0198, 0 locals
Action routine for:
"discard HELD at NOUN"
"discard HELD against NOUN"
JG G1f,#01 [FALSE] L0002
STORE G19,#0102
CALL_VS R0049 (G1f,#04) -> -(SP)
JZ (SP)+ [TRUE] L0001
STORE G19,#5b
RTRUE
L0001: STORE G19,#5b
L0002: TEST_ATTR G1f,#00 [TRUE] L0003
CALL_VS R0205 (#5b,#01) -> -(SP)
RET_POPPED
L0003: CALL_VS R0060 (G1f,#5b) -> -(SP)
JZ (SP)+ [FALSE] RFALSE
CALL_VN R0205 (#5b,#02)
RTRUE
Routine R0199, 0 locals
Action routine for:
"attack NOUN"
TEST_ATTR G1e,#00 [FALSE] L0001
CALL_VS R0060 (G1e,#5c) -> -(SP)
JZ (SP)+ [FALSE] RFALSE
L0001: CALL_2N R0205 (#5c)
RTRUE
Routine R0200, 0 locals
Action routine for:
"embrace CREATURE"
CALL_VS R0060 (G1e,#5d) -> -(SP)
JZ (SP)+ [FALSE] RFALSE
JE G1e,G08 [FALSE] L0001
CALL_VS R0205 (#53,#03) -> -(SP)
RET_POPPED
L0001: CALL_2N R0205 (#5d)
RTRUE
Routine R0201, 0 locals
Action routine for:
"answer TEXT [parse 2] to CREATURE"
CALL_VS R0060 (G1f,#02) -> -(SP)
JZ (SP)+ [FALSE] RFALSE
CALL_2N R0205 (#02)
RTRUE
Routine R0202, 0 locals
Action routine for:
"tell CREATURE about TEXT [parse 2]"
JE G1e,G08 [FALSE] L0001
CALL_2S R0205 (#05) -> -(SP)
RET_POPPED
L0001: CALL_VS R0060 (G1e,#05) -> -(SP)
JZ (SP)+ [FALSE] RFALSE
CALL_VN R0205 (#05,#02)
RTRUE
Routine R0203, 0 locals
Action routine for:
"ask CREATURE about TEXT [parse 2]"
CALL_VS R0060 (G1e,#03) -> -(SP)
JZ (SP)+ [FALSE] RFALSE
CALL_2N R0205 (#03)
RTRUE
Routine R0204, 0 locals
Action routine for:
"ask CREATURE for NOUN"
JE G1e,G08 [FALSE] L0001
CALL_2N R0059 (#19)
RTRUE
L0001: CALL_VN R0205 (#0103,#01,G1e)
RTRUE
Routine R0205, 4 locals
STORE L03,Ge9
STORE Ge9,L00
JZ L01 [FALSE] L0001
STORE L01,#01
L0001: CALL_VN R0206 (L01,L02)
STORE Ge9,L03
RTRUE
Routine R0206, 3 locals
STORE L02,G19
JE Ge9,#0107 [FALSE] L0001
PRINT "
>"
RTRUE
L0001: JE Ge9,#0106 [FALSE] L0020
JE L00,#01 [FALSE] L0002
PRINT_RET "(considering the first sixteen objects only)
"
L0002: JE L00,#02 [FALSE] L0003
PRINT_RET "Nothing to do!"
L0003: JE L00,#03 [FALSE] L0004
PRINT " You have died "
RTRUE
L0004: JE L00,#04 [FALSE] L0005
PRINT " You have won "
RTRUE
L0005: JE L00,#05 [FALSE] L0008
PRINT "
Would you like to RESTART, RESTORE a saved game"
JZ #00 [TRUE] L0006
PRINT ", give the FULL score for that game"
L0006: JE G0c,#02 [FALSE] L0007
JZ #01 [TRUE] L0007
PRINT ", see some suggestions for AMUSING things to do"
L0007: PRINT_RET " or QUIT?"
L0008: JE L00,#06 [FALSE] L0009
PRINT_RET "[Your interpreter does not provide "undo". Sorry!]"
L0009: JE L00,#07 [FALSE] L0010
PRINT_RET ""Undo" failed. [Not all interpreters provide it.]"
L0010: JE L00,#08 [FALSE] L0011
PRINT_RET "Please give one of the answers above."
L0011: JE L00,#09 [FALSE] L0012
PRINT_RET "
It is now pitch dark in here!"
L0012: JE L00,#0a [FALSE] L0013
PRINT_RET "I beg your pardon?"
L0013: JE L00,#0b [FALSE] L0014
PRINT_RET "[You can't "undo" what hasn't been done!]"
L0014: JE L00,#0c [FALSE] L0015
PRINT_RET "[Can't "undo" twice in succession. Sorry!]"
L0015: JE L00,#0d [FALSE] L0016
PRINT_RET "[Previous turn undone.]"
L0016: JE L00,#0e [FALSE] L0017
PRINT_RET "Sorry, that can't be corrected."
L0017: JE L00,#0f [FALSE] L0018
PRINT_RET "Think nothing of it."
L0018: JE L00,#10 [FALSE] L0019
PRINT_RET ""Oops" can only correct a single word."
L0019: RTRUE
L0020: JE Ge9,#0103 [FALSE] L0021
CALL_2N R0078 (L01)
PRINT_RET " has better things to do."
L0021: JE Ge9,#0c [FALSE] L0023
JE L00,#01 [FALSE] L0022
PRINT "Please answer yes or no."
RTRUE
L0022: PRINT "Are you sure you want to quit? "
RTRUE
L0023: JE Ge9,#0d [FALSE] L0025
JE L00,#01 [FALSE] L0024
PRINT "Are you sure you want to restart? "
RTRUE
L0024: PRINT_RET "Failed."
L0025: JE Ge9,#0e [FALSE] L0027
JE L00,#01 [FALSE] L0026
PRINT_RET "Restore failed."
L0026: PRINT_RET "Ok."
L0027: JE Ge9,#0f [FALSE] L0029
JE L00,#01 [FALSE] L0028
PRINT_RET "Save failed."
L0028: PRINT_RET "Ok."
L0029: JE Ge9,#10 [FALSE] L0031
JE L00,#01 [FALSE] L0030
PRINT_RET "The game file has verified as intact."
L0030: PRINT_RET "The game file did not verify properly, and may be
corrupted (or you may be running it on a very primitive interpreter which is
unable properly to perform the test)."
L0031: JE Ge9,#11 [FALSE] L0033
JE L00,#01 [FALSE] L0032
PRINT_RET "Transcripting is already on."
L0032: PRINT_RET "Start of a transcript of"
L0033: JE Ge9,#12 [FALSE] L0035
JE L00,#01 [FALSE] L0034
PRINT_RET "Transcripting is already off."
L0034: PRINT_RET "
End of transcript."
L0035: JE Ge9,#13 [FALSE] L0036
PRINT_RET "Score notification on."
L0036: JE Ge9,#14 [FALSE] L0037
PRINT_RET "Score notification off."
L0037: JE Ge9,#15 [FALSE] L0038
PRINT "You have visited: "
RTRUE
L0038: JE Ge9,#16 [FALSE] L0040
JE L00,#01 [FALSE] L0039
PRINT_RET "Objects you have handled:
"
L0039: PRINT_RET "None."
L0040: JE Ge9,#17 [FALSE] L0044
JZ G0c [FALSE] L0041
PRINT "You have so far scored "
JUMP L0042
L0041: PRINT "In that game you scored "
L0042: PRINT_NUM G06
PRINT " out of a possible "
PRINT_NUM #015e
PRINT ", in "
PRINT_NUM G07
PRINT " turn"
JG G07,#01 [FALSE] L0043
PRINT "s"
L0043: RTRUE
L0044: JE Ge9,#18 [FALSE] L0050
JE L00,#01 [FALSE] L0047
JZ G0c [FALSE] L0045
PRINT "The score is "
JUMP L0046
L0045: PRINT "The score was "
L0046: PRINT_RET "made up as follows:
"
L0047: JE L00,#02 [FALSE] L0048
PRINT_RET "finding sundry items"
L0048: JE L00,#03 [FALSE] L0049
PRINT_RET "visiting various places"
L0049: PRINT "total (out of "
PRINT_NUM #015e
PRINT_RET ")"
L0050: JE Ge9,#19 [FALSE] L0052
JE L00,#01 [FALSE] L0051
PRINT_RET "You are carrying nothing."
L0051: PRINT "You are carrying"
RTRUE
L0052: JE Ge9,#01 [FALSE] L0067
JE L00,#01 [FALSE] L0053
PRINT_RET "Taken."
L0053: JE L00,#02 [FALSE] L0054
PRINT_RET "You are always self-possessed."
L0054: JE L00,#03 [FALSE] L0055
PRINT "I don't suppose "
CALL_2N R0077 (L01)
PRINT_RET " would care for that."
L0055: JE L00,#04 [FALSE] L0058
PRINT "You'd have to get "
TEST_ATTR L01,#14 [FALSE] L0056
PRINT "off "
JUMP L0057
L0056: PRINT "out of "
L0057: CALL_2N R0077 (L01)
PRINT_RET " first."
L0058: JE L00,#05 [FALSE] L0059
PRINT_RET "You already have that."
L0059: JE L00,#06 [FALSE] L0060
PRINT "That seems to belong to "
CALL_2N R0077 (L01)
PRINT_RET "."
L0060: JE L00,#07 [FALSE] L0061
PRINT "That seems to be a part of "
CALL_2N R0077 (L01)
PRINT_RET "."
L0061: JE L00,#08 [FALSE] L0062
PRINT_RET "That isn't available."
L0062: JE L00,#09 [FALSE] L0063
CALL_2N R0078 (L01)
PRINT_RET " is not open."
L0063: JE L00,#0a [FALSE] L0064
PRINT_RET "That's hardly portable."
L0064: JE L00,#0b [FALSE] L0065
PRINT_RET "That's fixed in place."
L0065: JE L00,#0c [FALSE] L0066
PRINT_RET "You're carrying too many things already."
L0066: PRINT "(putting "
CALL_2N R0077 (L01)
PRINT " into "
CALL_2N R0077 (#00)
PRINT_RET " to make room)"
L0067: JE Ge9,#1c [FALSE] L0071
JE L00,#01 [FALSE] L0068
PRINT_RET "Already on the floor."
L0068: JE L00,#02 [FALSE] L0069
PRINT_RET "You haven't got that."
L0069: JE L00,#03 [FALSE] L0070
PRINT "(first taking "
CALL_2N R0077 (L01)
PRINT_RET " off)"
L0070: PRINT_RET "Dropped."
L0071: JE Ge9,#06 [FALSE] L0074
JE L00,#01 [FALSE] L0072
PRINT_RET "It is unfortunately closed."
L0072: JE L00,#02 [FALSE] L0073
PRINT_RET "But it isn't there now."
L0073: PRINT_RET "Removed."
L0074: JE Ge9,#1e [FALSE] L0082
JE L00,#01 [FALSE] L0075
PRINT "You need to be holding "
CALL_2N R0077 (L01)
PRINT_RET " before you can put it on top of something else."
L0075: JE L00,#02 [FALSE] L0076
PRINT_RET "You can't put something on top of itself."
L0076: JE L00,#03 [FALSE] L0077
PRINT "Putting things on "
CALL_2N R0077 (L01)
PRINT_RET " would achieve nothing."
L0077: JE L00,#04 [FALSE] L0078
PRINT_RET "You lack the dexterity."
L0078: JE L00,#05 [FALSE] L0079
PRINT_RET "(first taking it off)
"
L0079: JE L00,#06 [FALSE] L0080
PRINT "There is no more room on "
CALL_2N R0077 (L01)
PRINT_RET "."
L0080: JE L00,#07 [FALSE] L0081
PRINT_RET "Done."
L0081: PRINT "You put "
CALL_2N R0077 (L01)
PRINT " on "
CALL_2N R0077 (G1f)
PRINT_RET "."
L0082: JE Ge9,#1b [FALSE] L0091
JE L00,#01 [FALSE] L0083
PRINT_RET "You need to be holding it before you can put it into
something else."
L0083: JE L00,#02 [FALSE] L0084
PRINT_RET "That can't contain things."
L0084: JE L00,#03 [FALSE] L0085
PRINT_RET "Alas, it is closed."
L0085: JE L00,#04 [FALSE] L0086
PRINT_RET "You'll need to take it off first."
L0086: JE L00,#05 [FALSE] L0087
PRINT_RET "You can't put something inside itself."
L0087: JE L00,#06 [FALSE] L0088
PRINT_RET "(first taking it off)
"
L0088: JE L00,#07 [FALSE] L0089
PRINT "There is no more room in "
CALL_2N R0077 (L01)
PRINT_RET "."
L0089: JE L00,#08 [FALSE] L0090
PRINT_RET "Done."
L0090: PRINT "You put "
CALL_2N R0077 (L01)
PRINT " into "
CALL_2N R0077 (G1f)
PRINT_RET "."
L0091: JE Ge9,#1f [FALSE] L0093
JE L00,#01 [FALSE] L0092
PRINT_RET "That isn't in your possession."
L0092: PRINT_RET "First pick that up."
L0093: JE Ge9,#20 [FALSE] L0096
JE L00,#01 [FALSE] L0094
CALL_2N R0078 (L01)
PRINT_RET " can't contain things."
L0094: JE L00,#02 [FALSE] L0095
CALL_2N R0078 (L01)
PRINT_RET " is closed."
L0095: CALL_2N R0078 (L01)
PRINT_RET " is empty already."
L0096: JE Ge9,#0a [FALSE] L0099
JE L00,#01 [FALSE] L0097
PRINT "You aren't holding "
CALL_2N R0077 (L01)
PRINT_RET "."
L0097: JE L00,#02 [FALSE] L0098
PRINT "You juggle "
CALL_2N R0077 (L01)
PRINT_RET " for a while, but don't achieve much."
L0098: CALL_2N R0078 (L01)
PRINT_RET " doesn't seem interested."
L0099: JE Ge9,#0b [FALSE] L0101
JE L00,#01 [FALSE] L0100
PRINT "You aren't holding "
CALL_2N R0077 (L01)
PRINT_RET "."
L0100: CALL_2N R0078 (L01)
PRINT_RET " is unimpressed."
L0101: JE Ge9,#22 [FALSE] L0110
JE L00,#01 [FALSE] L0104
PRINT "But you're already "
TEST_ATTR L01,#14 [FALSE] L0102
PRINT "on "
JUMP L0103
L0102: PRINT "in "
L0103: CALL_2N R0077 (L01)
PRINT_RET "."
L0104: JE L00,#02 [FALSE] L0105
PRINT_RET "That's not something you can enter."
L0105: JE L00,#03 [FALSE] L0106
PRINT "You can't get into the closed "
CALL_2N R0079 (L01)
PRINT_RET "."
L0106: JE L00,#04 [FALSE] L0107
PRINT_RET "You can only get into something on the floor."
L0107: PRINT "You get "
TEST_ATTR L01,#14 [FALSE] L0108
PRINT "onto "
JUMP L0109
L0108: PRINT "into "
L0109: CALL_2N R0077 (L01)
PRINT_RET "."
L0110: JE Ge9,#24 [FALSE] L0111
PRINT "But you aren't on "
CALL_2N R0077 (L01)
PRINT_RET " at the moment."
L0111: JE Ge9,#23 [FALSE] L0116
JE L00,#01 [FALSE] L0112
PRINT_RET "But you aren't in anything at the moment."
L0112: JE L00,#02 [FALSE] L0113
PRINT "You can't get out of the closed "
CALL_2N R0079 (L01)
PRINT_RET "."
L0113: PRINT "You get "
TEST_ATTR L01,#14 [FALSE] L0114
PRINT "off "
JUMP L0115
L0114: PRINT "out of "
L0115: CALL_2N R0077 (L01)
PRINT_RET "."
L0116: JE Ge9,#25 [FALSE] L0117
PRINT_RET "You'll have to say which compass direction to go in."
L0117: JE Ge9,#00 [FALSE] L0125
JE L00,#01 [FALSE] L0120
PRINT "You'll have to get "
TEST_ATTR L01,#14 [FALSE] L0118
PRINT "off "
JUMP L0119
L0118: PRINT "out of "
L0119: CALL_2N R0077 (L01)
PRINT_RET " first."
L0120: JE L00,#02 [FALSE] L0121
PRINT_RET "You can't go that way."
L0121: JE L00,#03 [FALSE] L0122
PRINT "You are unable to climb "
CALL_2N R0077 (L01)
PRINT_RET "."
L0122: JE L00,#04 [FALSE] L0123
PRINT "You are unable to descend "
CALL_2N R0077 (L01)
PRINT_RET "."
L0123: JE L00,#05 [FALSE] L0124
PRINT "You can't, since "
CALL_2N R0077 (L01)
PRINT_RET " is in the way."
L0124: PRINT "You can't, since "
CALL_2N R0077 (L01)
PRINT_RET " leads nowhere."
L0125: JE Ge9,#26 [FALSE] L0126
PRINT_RET " is now in its normal "brief" printing mode, which
gives long descriptions of places never before visited and short descriptions
otherwise."
L0126: JE Ge9,#27 [FALSE] L0127
PRINT_RET " is now in its "verbose" mode, which always gives long
descriptions of locations (even if you've been there before)."
L0127: JE Ge9,#28 [FALSE] L0128
PRINT_RET " is now in its "superbrief" mode, which always gives
short descriptions of locations (even if you haven't been there before)."
L0128: JE Ge9,#07 [FALSE] L0141
JE L00,#01 [FALSE] L0129
PRINT "on"
RFALSE
L0129: JE L00,#02 [FALSE] L0130
PRINT "in"
RFALSE
L0130: JE L00,#03 [FALSE] L0131
PRINT "as"
RFALSE
L0131: JE L00,#04 [FALSE] L0133
PRINT "
On "
CALL_2N R0077 (L01)
GET_CHILD L01 -> -(SP) [FALSE] L0132
L0132: CALL_VN R0091 ((SP)+,#0cd8)
PRINT_RET "."
L0133: JE L01,G00 [TRUE] L0136
TEST_ATTR L01,#14 [FALSE] L0134
PRINT "
On "
JUMP L0135
L0134: PRINT "
In "
L0135: CALL_2N R0077 (L01)
PRINT " you"
JUMP L0137
L0136: PRINT "
You"
L0137: PRINT " can "
JE L00,#05 [FALSE] L0138
PRINT "also "
L0138: PRINT "see "
GET_CHILD L01 -> -(SP) [FALSE] L0139
L0139: CALL_VN R0091 ((SP)+,#0ad8)
JE L01,G00 [TRUE] L0140
PRINT_RET "."
L0140: PRINT_RET " here."
L0141: JE Ge9,#21 [FALSE] L0145
JE L00,#01 [FALSE] L0142
PRINT_RET "Darkness, noun. An absence of light to see by."
L0142: JE L00,#02 [FALSE] L0143
PRINT "You see nothing special about "
CALL_2N R0077 (L01)
PRINT_RET "."
L0143: CALL_2N R0078 (L01)
PRINT " is currently switched "
TEST_ATTR L01,#0d [FALSE] L0144
PRINT_RET "on."
L0144: PRINT_RET "off."
RTRUE
L0145: JE Ge9,#2a [FALSE] L0147
JE L00,#01 [FALSE] L0146
PRINT_RET "But it's dark."
L0146: PRINT_RET "You find nothing of interest."
L0147: JE Ge9,#29 [FALSE] L0156
JE L00,#01 [FALSE] L0148
PRINT_RET "But it's dark."
L0148: JE L00,#02 [FALSE] L0149
PRINT "There is nothing on "
CALL_2N R0077 (L01)
PRINT_RET "."
L0149: JE L00,#03 [FALSE] L0151
PRINT "On "
CALL_2N R0077 (L01)
GET_CHILD L01 -> -(SP) [FALSE] L0150
L0150: CALL_VN R0091 ((SP)+,#0c48)
PRINT_RET "."
L0151: JE L00,#04 [FALSE] L0152
PRINT_RET "You find nothing of interest."
L0152: JE L00,#05 [FALSE] L0153
PRINT_RET "You can't see inside, since it is closed."
L0153: JE L00,#06 [FALSE] L0154
CALL_2N R0078 (L01)
PRINT_RET " is empty."
L0154: PRINT "In "
CALL_2N R0077 (L01)
GET_CHILD L01 -> -(SP) [FALSE] L0155
L0155: CALL_VN R0091 ((SP)+,#0c48)
PRINT_RET "."
L0156: JE Ge9,#2b [FALSE] L0160
JE L00,#01 [FALSE] L0157
PRINT_RET "That doesn't seem to be something you can unlock."
L0157: JE L00,#02 [FALSE] L0158
PRINT_RET "It's unlocked at the moment."
L0158: JE L00,#03 [FALSE] L0159
PRINT_RET "That doesn't seem to fit the lock."
L0159: PRINT "You unlock "
CALL_2N R0077 (L01)
PRINT_RET "."
L0160: JE Ge9,#2c [FALSE] L0165
JE L00,#01 [FALSE] L0161
PRINT_RET "That doesn't seem to be something you can lock."
L0161: JE L00,#02 [FALSE] L0162
PRINT_RET "It's locked at the moment."
L0162: JE L00,#03 [FALSE] L0163
PRINT_RET "First you'll have to close it."
L0163: JE L00,#04 [FALSE] L0164
PRINT_RET "That doesn't seem to fit the lock."
L0164: PRINT "You lock "
CALL_2N R0077 (L01)
PRINT_RET "."
L0165: JE Ge9,#2d [FALSE] L0168
JE L00,#01 [FALSE] L0166
PRINT_RET "That's not something you can switch."
L0166: JE L00,#02 [FALSE] L0167
PRINT_RET "That's already on."
L0167: PRINT "You switch "
CALL_2N R0077 (L01)
PRINT_RET " on."
L0168: JE Ge9,#2e [FALSE] L0171
JE L00,#01 [FALSE] L0169
PRINT_RET "That's not something you can switch."
L0169: JE L00,#02 [FALSE] L0170
PRINT_RET "That's already off."
L0170: PRINT "You switch "
CALL_2N R0077 (L01)
PRINT_RET " off."
L0171: JE Ge9,#2f [FALSE] L0178
JE L00,#01 [FALSE] L0172
PRINT_RET "That's not something you can open."
L0172: JE L00,#02 [FALSE] L0173
PRINT_RET "It seems to be locked."
L0173: JE L00,#03 [FALSE] L0174
PRINT_RET "It's already open."
L0174: JE L00,#04 [FALSE] L0177
PRINT "You open "
CALL_2N R0077 (L01)
PRINT ", revealing "
GET_CHILD L01 -> -(SP) [FALSE] L0175
L0175: CALL_VS R0091 ((SP)+,#0848) -> -(SP)
JZ (SP)+ [FALSE] L0176
PRINT_RET "nothing."
L0176: PRINT_RET "."
L0177: PRINT "You open "
CALL_2N R0077 (L01)
PRINT_RET "."
L0178: JE Ge9,#30 [FALSE] L0181
JE L00,#01 [FALSE] L0179
PRINT_RET "That's not something you can close."
L0179: JE L00,#02 [FALSE] L0180
PRINT_RET "It's already closed."
L0180: PRINT "You close "
CALL_2N R0077 (L01)
PRINT_RET "."
L0181: JE Ge9,#1d [FALSE] L0183
JE L00,#01 [FALSE] L0182
PRINT_RET "You're not wearing that."
L0182: PRINT "You take off "
CALL_2N R0077 (L01)
PRINT_RET "."
L0183: JE Ge9,#31 [FALSE] L0187
JE L00,#01 [FALSE] L0184
PRINT_RET "You can't wear that!"
L0184: JE L00,#02 [FALSE] L0185
PRINT_RET "You're not holding that!"
L0185: JE L00,#03 [FALSE] L0186
PRINT_RET "You're already wearing that!"
L0186: PRINT "You put on "
CALL_2N R0077 (L01)
PRINT_RET "."
L0187: JE Ge9,#32 [FALSE] L0189
JE L00,#01 [FALSE] L0188
PRINT_RET "That's plainly inedible."
L0188: PRINT "You eat "
CALL_2N R0077 (L01)
PRINT_RET ". Not bad."
L0189: JE Ge9,#33,#34 [FALSE] L0190
PRINT_RET "That was a rhetorical question."
L0190: JE Ge9,#35 [FALSE] L0191
PRINT_RET "This dangerous act would achieve little."
L0191: JE Ge9,#36 [FALSE] L0192
PRINT_RET "Nothing practical results from your prayer."
L0192: JE Ge9,#37 [FALSE] L0193
PRINT_RET "The dreadful truth is, this is not a dream."
L0193: JE Ge9,#38 [FALSE] L0194
PRINT_RET "That seems unnecessary."
L0194: JE Ge9,#5d [FALSE] L0195
PRINT_RET "Keep your mind on the game."
L0195: JE Ge9,#39 [FALSE] L0196
PRINT_RET "What a good idea."
L0196: JE Ge9,#3a [FALSE] L0197
PRINT_RET "You smell nothing unexpected."
L0197: JE Ge9,#3b [FALSE] L0198
PRINT_RET "You hear nothing unexpected."
L0198: JE Ge9,#3c [FALSE] L0199
PRINT_RET "You taste nothing unexpected."
L0199: JE Ge9,#53 [FALSE] L0202
JE L00,#01 [FALSE] L0200
PRINT_RET "Keep your hands to yourself!"
L0200: JE L00,#03 [FALSE] L0201
PRINT_RET "If you think that'll help."
L0201: PRINT_RET "You feel nothing unexpected."
L0202: JE Ge9,#3d [FALSE] L0203
PRINT_RET "Digging would achieve nothing here."
L0203: JE Ge9,#3e [FALSE] L0204
PRINT_RET "Cutting that up would achieve little."
L0204: JE Ge9,#3f [FALSE] L0205
PRINT_RET "You jump on the spot, fruitlessly."
L0205: JE Ge9,#40,#41 [FALSE] L0206
PRINT_RET "You would achieve nothing by this."
L0206: JE Ge9,#42 [FALSE] L0207
PRINT_RET "There's nothing suitable to drink here."
L0207: JE Ge9,#43 [FALSE] L0208
PRINT_RET "But there's no water here to carry."
L0208: JE Ge9,#44 [FALSE] L0209
PRINT_RET "Oh, don't apologise."
L0209: JE Ge9,#45 [FALSE] L0210
PRINT_RET "Real adventurers do not use such language."
L0210: JE Ge9,#46 [FALSE] L0211
PRINT_RET "Quite."
L0211: JE Ge9,#5c [FALSE] L0212
PRINT_RET "Violence isn't the answer to this one."
L0212: JE Ge9,#47 [FALSE] L0213
PRINT_RET "There's not enough water to swim in."
L0213: JE Ge9,#48 [FALSE] L0214
PRINT_RET "There's nothing sensible to swing here."
L0214: JE Ge9,#49 [FALSE] L0215
PRINT_RET "You can't usefully blow that."
L0215: JE Ge9,#4a [FALSE] L0216
PRINT_RET "You achieve nothing by this."
L0216: JE Ge9,#4b [FALSE] L0217
PRINT_RET "No, you can't set that."
L0217: JE Ge9,#4c [FALSE] L0218
PRINT_RET "No, you can't set that to anything."
L0218: JE Ge9,#4d [FALSE] L0219
PRINT_RET "You wave, feeling foolish."
L0219: JE Ge9,#54 [FALSE] L0221
JE L00,#01 [FALSE] L0220
PRINT_RET "But you aren't holding that."
L0220: PRINT "You look ridiculous waving "
CALL_2N R0077 (L01)
PRINT_RET "."
L0221: JE Ge9,#55,#56,#57 [FALSE] L0225
JE L00,#01 [FALSE] L0222
PRINT_RET "It is fixed in place."
L0222: JE L00,#02 [FALSE] L0223
PRINT_RET "You are unable to."
L0223: JE L00,#04 [FALSE] L0224
PRINT_RET "That would be less than courteous."
L0224: PRINT_RET "Nothing obvious happens."
L0225: JE Ge9,#59 [FALSE] L0228
JE L00,#01 [FALSE] L0226
PRINT_RET "Is that the best you can think of?"
L0226: JE L00,#02 [FALSE] L0227
PRINT_RET "That's not a direction."
L0227: PRINT_RET "Not that way you can't."
L0228: JE Ge9,#5a [FALSE] L0230
JE L00,#01 [FALSE] L0229
PRINT_RET "Keep your hands to yourself."
L0229: PRINT_RET "You achieve nothing by this."
L0230: JE Ge9,#5b [FALSE] L0232
JE L00,#01 [FALSE] L0231
PRINT_RET "Futile."
L0231: PRINT_RET "You lack the nerve when it comes to the crucial
moment."
L0232: JE Ge9,#05 [FALSE] L0234
JE L00,#01 [FALSE] L0233
PRINT_RET "You talk to yourself a while."
L0233: PRINT_RET "This provokes no reaction."
L0234: JE Ge9,#02,#03 [FALSE] L0235
PRINT_RET "There is no reply."
L0235: JE Ge9,#4e [FALSE] L0236
PRINT_RET "Nothing is on sale."
L0236: JE Ge9,#4f [FALSE] L0237
PRINT_RET "Your singing is abominable."
L0237: JE Ge9,#50 [FALSE] L0238
PRINT_RET "I don't think much is to be achieved by that."
L0238: JE Ge9,#58 [FALSE] L0239
PRINT_RET "Time passes."
L0239: JE Ge9,#51 [FALSE] L0240
PRINT_RET "You aren't feeling especially drowsy."
L0240: JE Ge9,#52 [FALSE] L0241
PRINT "You discover nothing of interest in "
CALL_2N R0077 (L01)
PRINT_RET "."
L0241: RTRUE
Routine R0207, 0 locals
JE Ge9,#01 [FALSE] L0003
JE G00,#001f [FALSE] L0001
CALL_VS R0377 (Geb,#48) -> -(SP)
SUB G06,(SP)+ -> G06
L0001: ADD G06,#05 -> G06
TEST_ATTR G1e,#1c [TRUE] L0002
SET_ATTR G1e,#1c
INC G7c
ADD G06,#02 -> G06
L0002: PRINT_RET "Taken!"
L0003: JE Ge9,#1c [FALSE] L0004
SUB G06,#05 -> G06
JE G00,#001f [FALSE] L0004
CALL_VS R0377 (Geb,#48) -> -(SP)
ADD G06,(SP)+ -> G06
PRINT_RET "Safely deposited."
L0004: RFALSE
Routine R0208, 0 locals
JE Ge9,#42 [FALSE] L0001
PRINT_RET "You have taken a drink from the stream. The water
tastes strongly of minerals, but is not unpleasant. It is extremely cold."
L0001: JE Ge9,#01 [FALSE] L0003
JIN "small bottle",G08 [TRUE] L0002
PRINT_RET "You have nothing in which to carry the water."
L0002: CALL_VN R0059 (#43,#0025)
RTRUE
L0003: JE Ge9,#1b [FALSE] L0005
JE G1f,#0025 [FALSE] L0004
CALL_VN R0059 (#43,#0025)
RTRUE
L0004: PRINT_RET "You have nothing in which to carry the water."
L0005: JE Ge9,#0101 [FALSE] L0009
JE G1e,#00be [FALSE] L0006
REMOVE_OBJ "ming vase"
INSERT_OBJ "some worthless shards of pottery",G00
SUB G06,#05 -> G06
PRINT_RET "The sudden change in temperature has delicately
shattered the vase."
L0006: JE G1e,#0025 [FALSE] L0007
CALL_VN R0059 (#43,#0025)
RTRUE
L0007: REMOVE_OBJ G1e
CALL_VS R0384 (G1e,#15) -> -(SP)
JZ (SP)+ [TRUE] L0008
SUB G06,#05 -> G06
L0008: CALL_2N R0078 (G1e)
PRINT_RET " washes away with the stream."
L0009: RFALSE
Routine R0209, 0 locals
JE Ge9,#22 [FALSE] L0002
JE G1e,#0020,#0021 [FALSE] L0001
PRINT_RET "The stream flows out through a pair of 1 foot diameter
sewer pipes. It would be advisable to use the exit."
L0001: RFALSE
L0002: JE Ge9,#5e [FALSE] L0003
TEST_ATTR "In Debris Room",#18 [FALSE] RFALSE
CALL_2N R0096 (#0035)
RTRUE
L0003: JE Ge9,#5f [FALSE] L0004
TEST_ATTR "At "Y2"",#18 [FALSE] RFALSE
CALL_2N R0096 (#005c)
RTRUE
L0004: RFALSE
Routine R0210, 0 locals
JE Ge9,#60 [FALSE] L0001
PRINT_RET "A dozen or so keys."
L0001: RFALSE
Routine R0211, 0 locals
JE Ge9,#32 [FALSE] L0001
PRINT_RET "Delicious!"
L0001: RFALSE
Routine R0212, 0 locals
JIN "fresh batteries",G08 [TRUE] L0001
JIN "fresh batteries",G00 [FALSE] L0002
L0001: REMOVE_OBJ "fresh batteries"
SET_ATTR "fresh batteries",#08
INSERT_OBJ "worn-out batteries",G00
CALL_VN R0376 (Geb,#49,#09c4)
PRINT_RET "I'm taking the liberty of replacing the batteries."
L0002: RFALSE
Routine R0213, 1 local
TEST_ATTR Geb,#0d [TRUE] L0001
CALL_2N R0066 (Geb)
RTRUE
L0001: CALL_VS R0380 (Geb,#49) -> L00
JZ L00 [FALSE] L0002
CLEAR_ATTR Geb,#0d
CLEAR_ATTR Geb,#09
L0002: JIN Geb,G08 [TRUE] L0003
JIN Geb,G00 [FALSE] L0009
L0003: JZ L00 [FALSE] L0005
PRINT "Your lamp has run out of power."
JIN "fresh batteries",G08 [TRUE] L0004
TEST_ATTR G00,#09 [TRUE] L0004
STORE G0c,#03
PRINT_RET " You can't explore the cave without a lamp. So let's
just call it a day."
L0004: CALL_VN R0378 (Geb,#4a)
NEW_LINE
RTRUE
L0005: JE L00,#1e [FALSE] L0009
PRINT "Your lamp is getting dim."
TEST_ATTR "fresh batteries",#08 [FALSE] L0006
PRINT_RET " You're also out of spare batteries. You'd best start
wrapping this up."
L0006: JIN "fresh batteries","vending machine" [FALSE] L0007
TEST_ATTR "?",#18 [FALSE] L0007
PRINT_RET " You'd best start wrapping this up, unless you can find
some fresh batteries. I seem to recall there's a vending machine in the maze.
Bring some coins with you."
L0007: JIN "fresh batteries","vending machine" [TRUE] L0008
JIN "fresh batteries",G08 [TRUE] L0008
JIN "fresh batteries",G00 [TRUE] L0008
PRINT_RET " You'd best go back for those batteries."
L0008: NEW_LINE
RTRUE
L0009: RFALSE
Routine R0214, 0 locals
JE Ge9,#21 [FALSE] L0003
PRINT "It is a shiny brass lamp"
TEST_ATTR Geb,#0d [TRUE] L0001
PRINT_RET ". It is not currently lit."
L0001: CALL_VS R0377 (Geb,#49) -> -(SP)
JL (SP)+,#1e [FALSE] L0002
PRINT_RET ", glowing dimly."
L0002: PRINT_RET ", glowing brightly."
L0003: JE Ge9,#35 [FALSE] L0004
CALL_VN R0059 (#2d,Geb)
RTRUE
L0004: JE Ge9,#4a [FALSE] L0005
PRINT_RET "Rubbing the electric lamp is not particularly
rewarding. Anyway, nothing exciting happens."
L0005: JE Ge9,#2d [FALSE] L0007
CALL_VS R0377 (Geb,#49) -> -(SP)
JG (SP)+,#00 [TRUE] L0006
PRINT_RET "Unfortunately, the batteries seem to be dead."
L0006: RFALSE
L0007: JE Ge9,#0101 [FALSE] L0010
JE G1e,#0101 [FALSE] L0008
PRINT_RET "Those batteries are dead; they won't do any good at
all."
L0008: JE G1e,#0100 [FALSE] L0009
CALL_VN R0378 (Geb,#4a)
RTRUE
L0009: PRINT_RET "The only thing you might successfully put in the lamp
is a fresh pair of batteries."
L0010: RFALSE
Routine R0215, 0 locals
JE Ge9,#2d [FALSE] L0001
SET_ATTR Geb,#09
CALL_2N R0065 (Geb)
RFALSE
L0001: JE Ge9,#2e [FALSE] L0002
CLEAR_ATTR Geb,#09
L0002: RFALSE
Routine R0216, 0 locals
JE Ge9,#0100 [FALSE] L0002
JIN G1e,"small bottle" [FALSE] L0001
PRINT_RET "You're holding that already (in the bottle)."
L0001: RFALSE
L0002: JE Ge9,#0101 [FALSE] L0004
JE G1e,#19,#008c [FALSE] L0003
CALL_VN R0059 (#43,Geb)
RTRUE
L0003: PRINT_RET "The bottle is only supposed to hold liquids."
RFALSE
L0004: JE Ge9,#43 [FALSE] L0010
GET_CHILD "small bottle" -> -(SP) [FALSE] L0005
L0005: JZ (SP)+ [TRUE] L0006
PRINT_RET "The bottle is full already."
L0006: JIN "stream",G00 [TRUE] L0007
JIN "spring",G00 [FALSE] L0008
L0007: INSERT_OBJ "bottled water","small bottle"
PRINT_RET "The bottle is now full of water."
L0008: JIN "pool of oil",G00 [FALSE] L0009
INSERT_OBJ "bottled oil","small bottle"
PRINT_RET "The bottle is now full of oil."
L0009: PRINT_RET "There is nothing here with which to fill the bottle."
L0010: JE Ge9,#61 [FALSE] L0014
GET_CHILD "small bottle" -> -(SP) [FALSE] L0011
L0011: JZ (SP)+ [FALSE] L0012
PRINT_RET "The bottle is already empty!"
L0012: GET_CHILD "small bottle" -> -(SP) [FALSE] L0013
L0013: REMOVE_OBJ (SP)+
PRINT_RET "Your bottle is now empty and the ground is now wet."
L0014: RFALSE
Routine R0217, 0 locals
JE Ge9,#42 [FALSE] L0001
REMOVE_OBJ "bottled water"
CALL_VN R0059 (#42,#19)
RTRUE
L0001: RFALSE
Routine R0218, 0 locals
JE Ge9,#42 [FALSE] L0001
CALL_VN R0059 (#42,#008c)
RTRUE
L0001: RFALSE
Routine R0219, 0 locals
RANDOM #02 -> -(SP)
JE (SP)+,#01 [FALSE] L0001
CALL_VN R0096 (#0029,#01)
L0001: RFALSE
Routine R0220, 0 locals
JE Ge9,#22 [FALSE] L0001
PRINT_RET "You don't fit through a two-inch slit!"
L0001: RFALSE
Routine R0221, 0 locals
TEST_ATTR "steel grate",#0b [TRUE] L0001
TEST_ATTR "steel grate",#0e [TRUE] L0001
PRINT "(first opening the grate)
"
SET_ATTR "steel grate",#0e
L0001: RET #0030
Routine R0222, 0 locals
JE G00,#0031 [FALSE] L0001
RET #0f
L0001: RET #10
Routine R0223, 0 locals
JE G00,#0031 [FALSE] L0001
RET #2e
L0001: RET #0031
Routine R0224, 0 locals
TEST_ATTR Geb,#0e [FALSE] L0001
PRINT_RET "
The grate stands open."
L0001: TEST_ATTR Geb,#0b [TRUE] L0002
PRINT_RET "
The grate is unlocked but shut."
L0002: RTRUE
Routine R0225, 0 locals
JE Ge9,#2f [FALSE] L0001
JIN "little bird",Geb [FALSE] RFALSE
PRINT "(releasing the little bird)
"
CALL_VN R0059 (#62,#003b)
RTRUE
L0001: RFALSE
Routine R0226, 0 locals
JE Ge9,#5e [FALSE] L0001
CALL_2N R0096 (#1f)
RTRUE
L0001: RFALSE
Routine R0227, 0 locals
JE Ge9,#54 [FALSE] L0004
JE G00,#0049,#0048 [FALSE] L0003
JZ G7a [TRUE] L0001
PRINT_RET "Peculiar. Nothing happens."
L0001: JIN "crystal bridge",#00 [TRUE] L0002
REMOVE_OBJ "crystal bridge"
SET_ATTR "crystal bridge",#07
PUT_PROP "West Side of Fissure",#09,#00
PUT_PROP "On East Bank of Fissure",#0a,#00
PRINT_RET "The crystal bridge has vanished!"
L0002: INSERT_OBJ "crystal bridge",G00
CLEAR_ATTR "crystal bridge",#07
PUT_PROP "West Side of Fissure",#09,#004b
PUT_PROP "On East Bank of Fissure",#0a,#004b
PRINT_RET "A crystal bridge now spans the fissure."
L0003: PRINT_RET "Nothing happens."
L0004: RFALSE
Routine R0228, 0 locals
JE Ge9,#21 [FALSE] L0002
JIN Geb,"wicker cage" [FALSE] L0001
PRINT_RET "The little bird looks unhappy in the cage."
L0001: PRINT_RET "The cheerful little bird is sitting here singing."
L0002: JE Ge9,#1b [FALSE] L0004
JE G1f,#34 [FALSE] L0003
CALL_VN R0059 (#63,Geb)
RTRUE
L0003: PRINT "Don't put the poor bird in "
CALL_2N R0077 (G1f)
PRINT_RET "!"
RFALSE
L0004: JE Ge9,#1c,#06 [FALSE] L0006
JIN Geb,"wicker cage" [FALSE] L0005
PRINT "(The bird is released from the cage.)
"
CALL_VN R0059 (#62,Geb)
RTRUE
L0005: RFALSE
L0006: JE Ge9,#01,#63 [FALSE] L0010
JIN Geb,"wicker cage" [FALSE] L0007
PRINT_RET "You already have the little bird. If you take it out of
the cage it will likely fly away from you."
L0007: JIN "wicker cage",G08 [TRUE] L0008
PRINT_RET "You can catch the bird, but you cannot carry it."
L0008: JIN "black rod with a rusty star on the end",G08 [FALSE]
L0009
PRINT_RET "The bird was unafraid when you entered, but as you
approach it becomes disturbed and you cannot catch it."
L0009: INSERT_OBJ Geb,"wicker cage"
CLEAR_ATTR "wicker cage",#0e
PRINT_RET "You catch the bird in the wicker cage."
L0010: JE Ge9,#62 [FALSE] L0014
JIN Geb,"wicker cage" [TRUE] L0011
PRINT_RET "The bird is not caged now."
L0011: SET_ATTR "wicker cage",#0e
INSERT_OBJ Geb,G00
JIN "snake",G00 [FALSE] L0012
REMOVE_OBJ "snake"
PRINT_RET "The little bird attacks the green snake, and in an
astounding flurry drives the snake away."
L0012: JIN "dragon",G00 [FALSE] L0013
REMOVE_OBJ Geb
PRINT_RET "The little bird attacks the green dragon, and in an
astounding flurry gets burnt to a cinder. The ashes blow away."
L0013: PRINT_RET "The little bird flies free."
L0014: RFALSE
Routine R0229, 0 locals
JE Ge9,#0a [FALSE] L0001
PRINT_RET "It's not hungry. (It's merely pinin' for the fjords).
Besides, I suspect it would prefer bird seed."
L0001: JE Ge9,#0103,#03,#02 [FALSE] L0002
PRINT_RET "Cheep! Chirp!"
L0002: JE Ge9,#5c [FALSE] L0004
JIN Geb,"wicker cage" [FALSE] L0003
PRINT_RET "Oh, leave the poor unhappy bird alone."
L0003: REMOVE_OBJ Geb
PRINT_RET "The little bird is now dead. Its body disappears."
L0004: RFALSE
Routine R0230, 0 locals
JIN "large gold nugget",G08 [FALSE] L0001
STORE G0c,#01
PRINT_RET "You are at the bottom of the pit with a broken neck."
L0001: RET #0040
Routine R0231, 0 locals
JE Ge9,#22 [FALSE] L0001
JE G1e,#003e [FALSE] L0001
PRINT_RET "The crack is far too small for you to follow."
L0001: RFALSE
Routine R0232, 0 locals
TEST_ATTR Geb,#08 [TRUE] RFALSE
ADD G06,#19 -> G06
SET_ATTR Geb,#08
RFALSE
Routine R0233, 0 locals
JIN "large gold nugget",G08 [FALSE] L0001
PRINT_RET "The dome is unclimbable."
L0001: RET #3c
Routine R0234, 0 locals
JE Ge9,#21 [FALSE] L0002
JIN "large gold nugget",G08 [FALSE] L0001
PRINT_RET "I'm not sure you'll be able to get up it with what
you're carrying."
L0001: PRINT_RET "It looks like you might be able to climb up it."
L0002: JE Ge9,#50 [FALSE] L0003
CALL_2N R0097 (#0f)
RTRUE
L0003: RFALSE
Routine R0235, 0 locals
JE Ge9,#3f [FALSE] L0002
TEST_ATTR "crystal bridge",#07 [TRUE] L0001
PRINT_RET "I respectfully suggest you go across the bridge instead
of jumping."
L0001: STORE G0c,#01
PRINT_RET "You didn't make it."
L0002: RFALSE
Routine R0236, 0 locals
JE Ge9,#00 [FALSE] L0001
JE G00,#49 [FALSE] L0001
JE G1e,#07 [FALSE] L0001
PRINT "You have crawled through a very low wide passage
parallel to and north of the hall of mists.
"
L0001: RFALSE
Routine R0237, 0 locals
JE G00,#49 [FALSE] L0001
RET #09
L0001: RET #0a
Routine R0238, 0 locals
JE G00,#49 [FALSE] L0001
RET #48
L0001: RET #49
Routine R0239, 0 locals
JE Ge9,#00 [FALSE] L0001
JE G1e,#07 [FALSE] L0001
PRINT "You have crawled through a very low wide passage
parallel to and north of the hall of mists.
"
L0001: RFALSE
Routine R0240, 0 locals
JE Ge9,#00 [FALSE] L0002
JIN "snake",Geb [FALSE] L0002
JE G1e,#07,#08,#0a [TRUE] L0001
JE G1e,#0e [FALSE] L0002
RANDOM #64 -> -(SP)
JG (SP)+,#23 [TRUE] L0002
L0001: PRINT_RET "You can't get by the snake."
L0002: RFALSE
Routine R0241, 0 locals
JE Ge9,#0103,#03,#02 [FALSE] L0001
PRINT_RET "Hiss!"
L0001: JE Ge9,#5b [FALSE] L0003
JE G1e,#0103 [FALSE] L0002
CALL_VN R0059 (#5c,Geb)
RTRUE
L0002: CALL_VN R0059 (#0a,G1e,Geb)
RTRUE
L0003: JE Ge9,#0a [FALSE] L0005
JE G1e,#3b [FALSE] L0004
REMOVE_OBJ "little bird"
PRINT_RET "The snake has now devoured your bird."
L0004: PRINT_RET "There's nothing here it wants to eat (except perhaps
you)."
L0005: JE Ge9,#5c [FALSE] L0006
PRINT_RET "Attacking the snake both doesn't work and is very
dangerous."
L0006: JE Ge9,#01 [FALSE] L0007
STORE G0c,#01
PRINT_RET "It takes you instead. Glrp!"
L0007: RFALSE
Routine R0242, 0 locals
JE Ge9,#07 [FALSE] L0001
RANDOM #64 -> -(SP)
JG (SP)+,#19 [TRUE] L0001
PRINT "
A hollow voice says, "Plugh."
"
L0001: RFALSE
Routine R0243, 0 locals
JE Ge9,#5f [FALSE] L0001
CALL_2N R0096 (#1f)
RTRUE
L0001: JE Ge9,#64 [FALSE] L0003
TEST_ATTR "Plover Room",#18 [FALSE] RFALSE
JIN "emerald the size of a plover's egg",G08 [FALSE] L0002
INSERT_OBJ "emerald the size of a plover's egg","Plover Room"
SUB G06,#05 -> G06
L0002: CALL_2N R0096 (#00c3)
RTRUE
L0003: RFALSE
Routine R0244, 0 locals
JE Ge9,#4d [FALSE] L0001
PRINT_RET "The shadowy figure waves back at you!"
L0001: RFALSE
Routine R0245, 0 locals
JE Ge9,#50,#22 [FALSE] L0001
CALL_2N R0097 (#10)
RTRUE
L0001: RFALSE
Routine R0246, 0 locals
JE Ge9,#50 [FALSE] L0001
CALL_2N R0097 (#10)
RTRUE
L0001: RFALSE
Routine R0247, 0 locals
JE Ge9,#50 [FALSE] L0001
CALL_2N R0097 (#10)
RTRUE
L0001: RFALSE
Routine R0248, 1 local
JE Ge9,#00 [FALSE] L0007
JE G1e,#08,#10 [FALSE] L0001
RANDOM #64 -> -(SP)
JG (SP)+,#50 [TRUE] L0001
STORE L00,#01
L0001: JE G1e,#0f [FALSE] L0002
RANDOM #64 -> -(SP)
JG (SP)+,#50 [TRUE] L0002
STORE L00,#01
L0002: JE G1e,#0f [FALSE] L0003
RANDOM #64 -> -(SP)
JG (SP)+,#32 [TRUE] L0003
STORE L00,#0092
L0003: JE G1e,#07 [FALSE] L0004
RANDOM #64 -> -(SP)
JG (SP)+,#3c [TRUE] L0004
STORE L00,#01
L0004: JE G1e,#07 [FALSE] L0005
RANDOM #64 -> -(SP)
JG (SP)+,#4b [TRUE] L0005
STORE L00,#0094
L0005: JE L00,#01 [FALSE] L0006
PRINT_RET "You have crawled around in some little holes and wound
up back in the main passage."
L0006: JZ L00 [TRUE] RFALSE
CALL_2N R0096 (L00)
RTRUE
L0007: RFALSE
Routine R0249, 0 locals
JE Ge9,#00 [FALSE] L0003
JE G1e,#08 [FALSE] L0001
RANDOM #64 -> -(SP)
JG (SP)+,#50 [FALSE] L0002
L0001: JE G1e,#0d [FALSE] L0003
RANDOM #64 -> -(SP)
JG (SP)+,#32 [TRUE] L0003
L0002: PRINT_RET "You have crawled around in some little holes and wound
up back in the main passage."
L0003: RFALSE
Routine R0250, 0 locals
JE Ge9,#2a,#56,#55 [TRUE] L0001
JE Ge9,#01 [FALSE] L0002
L0001: PRINT_RET "Surely you're joking."
L0002: RFALSE
Routine R0251, 0 locals
JE Ge9,#22 [FALSE] L0001
JE G1e,#0086 [FALSE] L0001
PRINT_RET "It is too far up for you to reach."
L0001: RFALSE
Routine R0252, 0 locals
CALL_VS R0377 (#0088,#004b) -> -(SP)
JE (SP)+,#01 [FALSE] L0001
PRINT_RET "The top of a 12-foot-tall beanstalk is poking out of
the west pit."
L0001: PRINT_RET "There is a huge beanstalk growing out of the west pit
up to the hole."
Routine R0253, 0 locals
JE Ge9,#21 [FALSE] L0001
CALL_VN R0049 (Geb,#15)
RTRUE
L0001: JE Ge9,#50 [FALSE] L0002
CALL_VS R0377 (#0088,#004b) -> -(SP)
JE (SP)+,#02 [FALSE] L0002
CALL_VN R0059 (#50,#0088)
RTRUE
L0002: RFALSE
Routine R0254, 0 locals
JE Ge9,#50 [FALSE] L0001
JE G1e,#0088 [TRUE] RFALSE
CALL_VS R0377 (#0088,#004b) -> -(SP)
JZ (SP)+ [FALSE] L0001
PRINT_RET "There is nothing here to climb. Use "up" or "out" to
leave the pit."
L0001: RFALSE
Routine R0255, 0 locals
CALL_VS R0377 (Geb,#4b) -> -(SP)
PULL Gef
JE Gef,#00 [FALSE] L0001
PRINT_RET "There is a tiny little plant in the pit, murmuring
"Water, water, ...""
L0001: JE Gef,#01 [FALSE] L0002
PRINT_RET "There is a 12-foot-tall beanstalk stretching up out of
the pit, bellowing "Water!! Water!!""
L0002: JE Gef,#02 [FALSE] L0003
PRINT_RET "There is a gigantic beanstalk stretching all the way up
to the hole."
L0003: RFALSE
Routine R0256, 0 locals
JE Ge9,#50 [FALSE] L0004
CALL_VS R0377 (Geb,#4b) -> -(SP)
PULL Gef
JE Gef,#00 [FALSE] L0001
PRINT_RET "It's just a little plant!"
L0001: JE Gef,#01 [FALSE] L0002
PRINT "You have climbed up the plant and out of the pit.
"
CALL_2N R0096 (#84)
RTRUE
L0002: JE Gef,#02 [FALSE] L0003
PRINT "You clamber up the plant and scurry through the hole at
the top.
"
CALL_2N R0096 (#00ab)
RTRUE
L0003: RFALSE
L0004: JE Ge9,#01 [FALSE] L0005
PRINT_RET "The plant has exceptionally deep roots and cannot be
pulled free."
L0005: JE Ge9,#65 [FALSE] L0013
JIN "small bottle",G08 [TRUE] L0006
PRINT_RET "You have nothing to water the plant with."
L0006: GET_CHILD "small bottle" -> -(SP) [FALSE] L0007
L0007: PULL Gef
JE Gef,#00 [FALSE] L0008
PRINT_RET "The bottle is empty."
L0008: JE Gef,#27 [FALSE] L0009
REMOVE_OBJ "bottled oil"
PRINT_RET "The plant indignantly shakes the oil off its leaves and
asks, "Water?""
L0009: REMOVE_OBJ "bottled water"
CALL_VS R0379 (Geb,#4b) -> -(SP)
PULL Gef
JE Gef,#00 [FALSE] L0010
PRINT "The plant spurts into furious growth for a few seconds.
"
CLEAR_ATTR "beanstalk",#07
JUMP L0012
L0010: JE Gef,#01 [FALSE] L0011
PRINT "The plant grows explosively, almost filling the bottom
of the pit.
"
JUMP L0012
L0011: JE Gef,#02 [FALSE] L0012
PRINT "You've over-watered the plant! It's shriveling up!
It's, it's...
"
SET_ATTR "beanstalk",#07
REMOVE_OBJ "beanstalk"
CALL_VN R0376 (Geb,#4b,#00)
L0012: CALL_VN R0059 (#21,Geb)
RTRUE
L0013: JE Ge9,#66 [FALSE] L0014
CALL_VN R0059 (#65,Geb)
RTRUE
L0014: JE Ge9,#21 [FALSE] L0015
CALL_VN R0378 (Geb,#15)
RTRUE
L0015: RFALSE
Routine R0257, 0 locals
JE Ge9,#2a,#56,#55 [TRUE] L0001
JE Ge9,#01 [FALSE] L0002
L0001: PRINT_RET "Surely you're joking."
L0002: RFALSE
Routine R0258, 0 locals
JE Ge9,#42 [FALSE] L0001
PRINT_RET "Absolutely not."
L0001: JE Ge9,#01 [FALSE] L0003
JIN "small bottle",G08 [TRUE] L0002
PRINT_RET "You have nothing in which to carry the oil."
L0002: CALL_VN R0059 (#43,#25)
RTRUE
L0003: JE Ge9,#1b [FALSE] L0005
JE G1f,#25 [FALSE] L0004
CALL_VN R0059 (#43,#25)
RTRUE
L0004: PRINT_RET "You have nothing in which to carry the oil."
L0005: RFALSE
Routine R0259, 0 locals
JE Ge9,#2a,#56,#55 [TRUE] L0001
JE Ge9,#01 [FALSE] L0002
L0001: PRINT_RET "Surely you're joking."
L0002: RFALSE
Routine R0260, 0 locals
JE Ge9,#00 [FALSE] L0001
JE G1e,#08 [FALSE] L0001
STORE G7b,Geb
L0001: RFALSE
Routine R0261, 0 locals
JE Ge9,#00 [FALSE] L0001
JE G1e,#0a [FALSE] L0001
STORE G7b,Geb
L0001: RFALSE
Routine R0262, 0 locals
RANDOM #64 -> -(SP)
JG (SP)+,#28 [TRUE] L0001
RET #72
L0001: RANDOM #64 -> -(SP)
JG (SP)+,#32 [TRUE] L0002
RET #78
L0002: RET #70
Routine R0263, 0 locals
JE Ge9,#3f,#50 [FALSE] L0001
CALL_VN R0059 (#00,#10)
RTRUE
L0001: RFALSE
Routine R0264, 0 locals
JE Ge9,#2a,#56,#01 [FALSE] L0001
PRINT_RET "Do get a grip on yourself."
L0001: RFALSE
Routine R0265, 0 locals
JE G7b,#96 [FALSE] L0001
RET G7b
L0001: JIN "dragon",G00 [FALSE] L0002
PRINT_RET "The dragon looks rather nasty. You'd best not try to
get by."
L0002: RET #96
Routine R0266, 0 locals
JE G7b,#91 [FALSE] L0001
RET G7b
L0001: JIN "dragon",G00 [FALSE] L0002
PRINT_RET "The dragon looks rather nasty. You'd best not try to
get by."
L0002: RET #91
Routine R0267, 0 locals
RET G7b
Routine R0268, 0 locals
JE G19,#33 [FALSE] L0001
TEST_ATTR "dragon",#08 [FALSE] L0001
REMOVE_OBJ "dragon"
INSERT_OBJ "dragon's body",G00
CLEAR_ATTR "dragon",#08
PRINT_RET "Congratulations! You have just vanquished a dragon with
your bare hands! (Unbelievable, isn't it?)"
L0001: JE G19,#34 [FALSE] L0002
TEST_ATTR "dragon",#08 [FALSE] L0002
CLEAR_ATTR "dragon",#08
PRINT_RET "I should think not."
L0002: CLEAR_ATTR "dragon",#08
RFALSE
Routine R0269, 0 locals
JE Ge9,#5c [FALSE] L0001
SET_ATTR "dragon",#08
PRINT_RET "With what? Your bare hands?"
L0001: JE Ge9,#0a [FALSE] L0002
PRINT_RET "The dragon is implacable."
L0002: JE Ge9,#5b [FALSE] L0004
JE G1e,#0103 [TRUE] L0003
PRINT_RET "You'd probably be better off using your bare hands than
that thing!"
L0003: INSERT_OBJ "dwarvish axe",G00
PRINT_RET "The axe bounces harmlessly off the dragon's thick
scales."
L0004: RFALSE
Routine R0270, 0 locals
JE Ge9,#01 [FALSE] L0001
JIN "dragon",G00 [FALSE] L0001
PRINT_RET "You'll need to get the dragon to move first!"
L0001: RFALSE
Routine R0271, 0 locals
JIN "dragon",G00 [FALSE] L0001
PRINT_RET "The dragon is sprawled out on the Persian rug!"
L0001: PRINT_RET "The Persian rug is spread out on the floor here."
Routine R0272, 0 locals
JE Ge9,#5c [FALSE] L0001
PRINT_RET "You've already done enough damage!"
L0001: RFALSE
Routine R0273, 0 locals
CALL_2N R0066 (#0104)
JIN "treasure chest",Geb [FALSE] L0001
TEST_ATTR "treasure chest",#0c [TRUE] L0001
PRINT_RET "You've found the pirate's treasure chest!"
L0001: RFALSE
Routine R0274, 0 locals
JE Ge9,#3f [FALSE] L0001
STORE G0c,#01
PRINT_RET "You fall and break your neck!"
L0001: RFALSE
Routine R0275, 0 locals
JE Ge9,#60 [FALSE] L0001
PRINT_RET "69,105."
L0001: RFALSE
Routine R0276, 0 locals
TEST_ATTR "rusty door",#0b [FALSE] L0001
CALL_VN R0059 (#2f,#00b3)
RTRUE
L0001: TEST_ATTR "rusty door",#0e [TRUE] L0002
SET_ATTR "rusty door",#0e
PRINT "(first wrenching the door open)
"
L0002: RET #00b3
Routine R0277, 0 locals
JE Ge9,#2f [FALSE] L0002
TEST_ATTR "rusty door",#0b [FALSE] L0001
PRINT_RET "The hinges are quite thoroughly rusted now and won't
budge."
L0001: RFALSE
L0002: JE Ge9,#30 [FALSE] L0004
TEST_ATTR "rusty door",#0e [FALSE] L0003
PRINT_RET "With all the effort it took to get the door open, I
wouldn't suggest closing it again."
L0003: PRINT_RET "No problem there -- it already is."
L0004: JE Ge9,#66 [FALSE] L0006
JIN "small bottle",G08 [FALSE] L0005
JIN "bottled oil","small bottle" [FALSE] L0005
REMOVE_OBJ "bottled oil"
CLEAR_ATTR "rusty door",#0b
SET_ATTR "rusty door",#0f
PRINT_RET "The oil has freed up the hinges so that the door will
now move, although it requires some effort."
L0005: PRINT_RET "You have nothing to oil it with."
RFALSE
L0006: JE Ge9,#65 [FALSE] L0008
JIN "small bottle",G08 [FALSE] L0007
JIN "bottled water","small bottle" [FALSE] L0007
REMOVE_OBJ "bottled water"
SET_ATTR "rusty door",#0b
CLEAR_ATTR "rusty door",#0e
PRINT_RET "The hinges are quite thoroughly rusted now and won't
budge."
L0007: PRINT_RET "You have nothing to water it with."
L0008: RFALSE
Routine R0278, 0 locals
JE Ge9,#2f [FALSE] L0001
PRINT_RET "The door heaves open with a shower of rust."
L0001: RFALSE
Routine R0279, 0 locals
JE Ge9,#01 [FALSE] L0001
PRINT_RET "Now don't go ripping up the place!"
L0001: JE Ge9,#2a,#29 [FALSE] L0002
PRINT_RET "You don't find anything exciting behind the curtains."
L0002: RFALSE
Routine R0280, 0 locals
JE Ge9,#01 [FALSE] L0001
PRINT_RET "It crumbles to nothing in your hands."
L0001: RFALSE
Routine R0281, 0 locals
JE Ge9,#1c [FALSE] L0002
JIN "velvet pillow",G00 [FALSE] L0001
PRINT "(coming to rest, delicately, on the velvet pillow)
"
RFALSE
L0001: REMOVE_OBJ "ming vase"
INSERT_OBJ "some worthless shards of pottery",G00
PRINT_RET "The ming vase drops with a delicate crash."
L0002: RFALSE
Routine R0282, 0 locals
JE Ge9,#5c [FALSE] L0001
REMOVE_OBJ "ming vase"
INSERT_OBJ "some worthless shards of pottery",G00
PRINT_RET "You have taken the vase and hurled it delicately to the
ground."
L0001: JE Ge9,#0101 [FALSE] L0002
PRINT_RET "The vase is too fragile to use as a container."
L0002: RFALSE
Routine R0283, 1 local
STORE Gef,#00
GET_CHILD G08 -> -(SP) [FALSE] L0002
L0001: INC Gef
GET_SIBLING (SP)+ -> -(SP) [TRUE] L0001
L0002: PULL Gee
STORE L00,Gef
JZ L00 [TRUE] L0003
JE L00,#01 [FALSE] L0004
JIN "emerald the size of a plover's egg",G08 [FALSE] L0004
L0003: RET #00c3
L0004: PRINT_RET "Something you're carrying won't fit through the tunnel
with you. You'd best take inventory and drop something."
Routine R0284, 1 local
STORE Gef,#00
GET_CHILD G08 -> -(SP) [FALSE] L0002
L0001: INC Gef
GET_SIBLING (SP)+ -> -(SP) [TRUE] L0001
L0002: PULL Gee
STORE L00,Gef
JZ L00 [TRUE] L0003
JE L00,#01 [FALSE] L0004
JIN "emerald the size of a plover's egg",G08 [FALSE] L0004
L0003: RET #c2
L0004: PRINT_RET "Something you're carrying won't fit through the tunnel
with you. You'd best take inventory and drop something."
Routine R0285, 0 locals
JE Ge9,#64 [FALSE] L0002
JIN "emerald the size of a plover's egg",G08 [FALSE] L0001
INSERT_OBJ "emerald the size of a plover's egg","Plover Room"
L0001: CALL_2N R0096 (#5c)
RTRUE
L0002: JE Ge9,#00 [FALSE] L0003
JE G1e,#11 [FALSE] L0003
CALL_VN R0059 (#00,#0a)
RTRUE
L0003: RFALSE
Routine R0286, 0 locals
JIN "giant clam",G08 [FALSE] L0002
TEST_ATTR "giant clam",#0e [FALSE] L0001
PRINT_RET "You can't fit this five-foot oyster through that little
passage!"
L0001: PRINT_RET "You can't fit this five-foot clam through that little
passage!"
L0002: RET #80
Routine R0287, 0 locals
TEST_ATTR Geb,#08 [FALSE] L0001
PRINT_RET "There is an enormous oyster here with its shell tightly
closed."
L0001: PRINT_RET "There is an enormous clam here with its shell tightly
closed."
Routine R0288, 0 locals
JE Ge9,#21 [FALSE] L0002
JE G00,#0107,#010b [FALSE] L0001
PRINT_RET "Interesting. There seems to be something written on the
underside of the oyster:
"There is something strange about this place, such that one of the words I've
always known now has a new effect.""
L0001: PRINT_RET "A giant bivalve of some kind."
L0002: JE Ge9,#2f [FALSE] L0003
PRINT_RET "You aren't strong enough to open the clam with your
bare hands."
L0003: JE Ge9,#2b [FALSE] L0006
JE G1f,#b6 [TRUE] L0004
CALL_2N R0078 (#b6)
PRINT " isn't strong enough to open the clam."
L0004: TEST_ATTR Geb,#08 [FALSE] L0005
PRINT_RET "The oyster creaks open, revealing nothing but oyster
inside. It promptly snaps shut again."
L0005: SET_ATTR Geb,#08
INSERT_OBJ "glistening pearl","Cul-de-Sac"
PRINT_RET "A glistening pearl falls out of the clam and rolls
away. Goodness, this must really be an oyster. (I never was very good at
identifying bivalves.) Whatever it is, it has now snapped shut again."
L0006: JE Ge9,#5c [FALSE] L0007
PRINT_RET "The shell is very strong and is impervious to attack."
L0007: RFALSE
Routine R0289, 0 locals
JE Ge9,#01 [FALSE] L0001
PRINT_RET "It's hanging way above your head."
L0001: RFALSE
Routine R0290, 0 locals
JE Ge9,#01 [FALSE] L0002
JE G00,#00d1 [FALSE] L0001
DEC G06
L0001: RFALSE
L0002: JE Ge9,#1c [FALSE] L0003
JE G00,#00d1 [FALSE] L0003
INC G06
PRINT_RET "You really are at wit's end."
L0003: RFALSE
Routine R0291, 0 locals
JE Ge9,#00 [FALSE] L0002
JE G1e,#0a [TRUE] L0001
RANDOM #64 -> -(SP)
JG (SP)+,#5f [TRUE] L0001
PRINT_RET "You have crawled around in some little holes and wound
up back in the main passage."
L0001: CALL_2N R0096 (#ce)
RTRUE
L0002: RFALSE
Routine R0292, 0 locals
JE Ge9,#5c,#06 [FALSE] L0001
PRINT_RET "You can't reach it from here."
L0001: RFALSE
Routine R0293, 0 locals
JE Ge9,#3f [FALSE] L0001
STORE G0c,#01
PRINT_RET "You jump and break your neck!"
L0001: JE Ge9,#4d [FALSE] L0002
PRINT_RET "The shadowy figure waves back at you!"
L0002: RFALSE
Routine R0294, 0 locals
JE Ge9,#47 [FALSE] L0001
PRINT_RET "The water is icy cold, and you would soon freeze to
death."
L0001: RFALSE
Routine R0295, 0 locals
JE Ge9,#3f [FALSE] L0002
JIN "rickety bridge",Geb [FALSE] L0001
PRINT_RET "I respectfully suggest you go across the bridge instead
of jumping."
L0001: STORE G0c,#01
PRINT_RET "You didn't make it."
L0002: RFALSE
Routine R0296, 0 locals
TEST_ATTR "burly troll",#08 [TRUE] L0001
JIN "burly troll",#00 [FALSE] L0003
L0001: CLEAR_ATTR "burly troll",#08
TEST_ATTR "large cave bear",#08 [FALSE] L0002
REMOVE_OBJ "large cave bear"
REMOVE_OBJ Geb
CLEAR_ATTR "wreckage of bridge",#07
REMOVE_OBJ "rickety bridge"
SET_ATTR "rickety bridge",#07
CALL_2N R0066 (#00ef)
STORE G0c,#01
PRINT_RET "Just as you reach the other side, the bridge buckles
beneath the weight of the bear, which was still following you around. You
scrabble desperately for support, but as the bridge collapses you stumble back
and fall into the chasm."
L0002: RET #00d8
L0003: JIN "burly troll",G00 [FALSE] L0004
PRINT_RET "The troll refuses to let you cross."
L0004: INSERT_OBJ "burly troll",G00
PRINT_RET "The troll steps out from beneath the bridge and blocks
your way."
Routine R0297, 0 locals
PRINT "A rickety wooden bridge extends across the chasm,
vanishing into the mist.
A sign posted on the bridge reads, "Stop! Pay troll!"
"
JIN "burly troll",G00 [TRUE] L0001
PRINT_RET "The troll is nowhere to be seen."
L0001: RTRUE
Routine R0298, 0 locals
JE G00,#d7 [FALSE] L0001
RET #0b
L0001: RET #0e
Routine R0299, 0 locals
JE G00,#d7 [FALSE] L0001
RET #00db
L0001: RET #d7
Routine R0300, 0 locals
JE Ge9,#5c [FALSE] L0001
PRINT_RET "The troll laughs aloud at your pitiful attempt to
injure him."
L0001: JE Ge9,#5b,#0a [FALSE] L0004
CALL_VS R0384 (G1e,#15) -> -(SP)
JZ (SP)+ [TRUE] L0002
REMOVE_OBJ G1e
INSERT_OBJ "burly troll","rickety bridge"
SET_ATTR "burly troll",#08
SUB G06,#05 -> G06
PRINT_RET "The troll catches your treasure and scurries away out
of sight."
L0002: JE G1e,#23 [FALSE] L0003
PRINT_RET "Gluttony is not one of the troll's vices. Avarice,
however, is."
L0003: PRINT "The troll deftly catches "
CALL_2N R0077 (G1e)
PRINT_RET ", examines it carefully, and tosses it back, declaring,
"Good workmanship, but it's not valuable enough.""
L0004: JE Ge9,#0103 [FALSE] L0005
PRINT_RET "You'll be lucky."
L0005: JE Ge9,#02,#03 [FALSE] L0006
PRINT_RET "Trolls make poor conversation."
L0006: RFALSE
Routine R0301, 0 locals
PRINT_RET "The wreckage is too far below."
Routine R0302, 0 locals
JE Ge9,#3f [FALSE] L0002
JIN "rickety bridge",Geb [FALSE] L0001
PRINT_RET "I respectfully suggest you go across the bridge instead
of jumping."
L0001: STORE G0c,#01
PRINT_RET "You didn't make it."
L0002: RFALSE
Routine R0303, 0 locals
JE Ge9,#3f [FALSE] L0001
CALL_VN R0059 (#00,#10)
RTRUE
L0001: RFALSE
Routine R0304, 0 locals
JE Ge9,#3a,#21 [FALSE] L0001
PRINT_RET "They smell wonderfully exotic!"
L0001: RFALSE
Routine R0305, 0 locals
CALL_VS R0377 (Geb,#4c) -> -(SP)
JZ (SP)+ [TRUE] L0001
PRINT_RET "You are being followed by a very large, tame bear."
L0001: CALL_VS R0377 (Geb,#4d) -> -(SP)
JZ (SP)+ [TRUE] L0002
PRINT_RET "There is a ferocious cave bear eyeing you from the far
end of the room!"
L0002: JE G00,#ed [FALSE] L0003
PRINT_RET "There is a gentle cave bear sitting placidly in one
corner."
L0003: PRINT_RET "There is a contented-looking bear wandering about
nearby."
Routine R0306, 0 locals
JE Ge9,#5c [FALSE] L0003
JIN "dwarvish axe",G08 [FALSE] L0001
CALL_VN R0059 (#5b,#0103,#ef)
RTRUE
L0001: CALL_VS R0377 (Geb,#4d) -> -(SP)
JZ (SP)+ [FALSE] L0002
PRINT_RET "The bear is confused; he only wants to be your friend."
L0002: PRINT_RET "With what? Your bare hands? Against *his* bear hands??"
L0003: JE Ge9,#5b [FALSE] L0006
JE G1e,#0103 [TRUE] L0004
CALL_VN R0059 (#0a,G1e,#ef)
RTRUE
L0004: CALL_VS R0377 (Geb,#4d) -> -(SP)
JZ (SP)+ [FALSE] L0005
PRINT_RET "The bear is confused; he only wants to be your friend."
L0005: INSERT_OBJ "dwarvish axe",G00
SET_ATTR "dwarvish axe",#08
PRINT_RET "The axe misses and lands near the bear where you can't
get at it."
L0006: JE Ge9,#0a [FALSE] L0009
JE G1e,#23 [FALSE] L0007
CLEAR_ATTR "dwarvish axe",#08
REMOVE_OBJ "tasty food"
CALL_VN R0376 (Geb,#4d,#00)
PRINT_RET "The bear eagerly wolfs down your food, after which he
seems to calm down considerably and even becomes rather friendly."
L0007: CALL_VS R0377 (Geb,#4d) -> -(SP)
JZ (SP)+ [FALSE] L0008
PRINT_RET "The bear doesn't seem very interested in your offer."
L0008: PRINT_RET "Uh-oh -- your offer only makes the bear angrier!"
L0009: JE Ge9,#0103,#03,#02 [FALSE] L0010
PRINT_RET "This is a Bear of very little brain."
L0010: RFALSE
Routine R0307, 0 locals
JE Ge9,#21 [FALSE] L0002
PRINT "The bear is extremely large, "
CALL_VS R0377 (Geb,#4d) -> -(SP)
JZ (SP)+ [FALSE] L0001
PRINT_RET "but appears to be friendly."
L0001: PRINT_RET "and seems quite ferocious!"
L0002: JE Ge9,#01,#63 [FALSE] L0005
CALL_VS R0377 (Geb,#4d) -> -(SP)
JZ (SP)+ [TRUE] L0003
PRINT_RET "Surely you're joking!"
L0003: TEST_ATTR "golden chain",#0b [FALSE] L0004
PRINT_RET "The bear is still chained to the wall."
L0004: CALL_VN R0376 (Geb,#4c,#01)
CALL_2N R0065 (#ef)
PRINT_RET "Ok, the bear's now following you around."
L0005: JE Ge9,#1c,#62 [FALSE] L0008
CALL_VS R0377 (Geb,#4c) -> -(SP)
JZ (SP)+ [FALSE] L0006
PRINT_RET "What?"
L0006: CALL_VN R0376 (Geb,#4c,#00)
CALL_2N R0066 (#ef)
JIN "burly troll",G00 [FALSE] L0007
REMOVE_OBJ "burly troll"
PRINT_RET "The bear lumbers toward the troll, who lets out a
startled shriek and scurries away. The bear soon gives up the pursuit and
wanders back."
L0007: PRINT_RET "The bear wanders away from you."
L0008: RFALSE
Routine R0308, 0 locals
JE G00,#13 [TRUE] RFALSE
JIN Geb,G00 [FALSE] L0002
JE G00,#df [FALSE] L0001
PRINT_RET "
The bear roars with delight."
L0001: RFALSE
L0002: INSERT_OBJ Geb,G00
PRINT_RET "
The bear lumbers along behind you."
Routine R0309, 0 locals
TEST_ATTR Geb,#0b [FALSE] L0001
PRINT_RET "The bear is held back by a solid gold chain."
L0001: PRINT_RET "A solid golden chain lies in coils on the ground!"
Routine R0310, 0 locals
JE Ge9,#01 [FALSE] L0003
TEST_ATTR Geb,#0b [FALSE] L0002
CALL_VS R0377 (#ef,#4d) -> -(SP)
JZ (SP)+ [TRUE] L0001
PRINT_RET "It's locked to the ferocious bear!"
L0001: PRINT_RET "It's locked to the friendly bear."
L0002: RFALSE
L0003: JE Ge9,#2b [FALSE] L0005
CALL_VS R0377 (#ef,#4d) -> -(SP)
JZ (SP)+ [TRUE] L0004
PRINT_RET "There is no way to get past the bear to unlock the
chain, which is probably just as well."
L0004: RFALSE
L0005: JE Ge9,#2c [FALSE] L0006
TEST_ATTR Geb,#0b [TRUE] L0006
PRINT_RET "The mechanism won't lock again."
L0006: RFALSE
Routine R0311, 0 locals
JE Ge9,#2b [FALSE] L0001
PRINT_RET "You unlock the chain, and set the tame bear free."
L0001: RFALSE
Routine R0312, 0 locals
JE Ge9,#0101 [FALSE] L0002
JE G1e,#5b [FALSE] L0001
INSERT_OBJ "fresh batteries",G00
REMOVE_OBJ "rare coins"
PRINT_RET "Soon after you insert the coins in the coin slot, the
vending machines makes a grinding sound, and a set of fresh batteries falls at
your feet."
L0001: PRINT_RET "The machine seems to be designed to take coins."
L0002: JE Ge9,#5c [FALSE] L0003
PRINT_RET "The machine is quite sturdy and survives your attack
without getting so much as a scratch."
L0003: JE Ge9,#2a [FALSE] L0004
PRINT_RET "You don't find anything under the machine."
L0004: JE Ge9,#29 [FALSE] L0005
PRINT_RET "You can't get inside the machine."
L0005: JE Ge9,#01 [FALSE] L0006
PRINT_RET "The vending machine is far too heavy to move."
L0006: RFALSE
Routine R0313, 0 locals
JE Ge9,#60 [FALSE] L0001
PRINT_RET "A pair."
L0001: RFALSE
Routine R0314, 0 locals
JE Ge9,#60 [FALSE] L0001
PRINT_RET "A pair."
L0001: RFALSE
Routine R0315, 0 locals
JE G00,#13 [FALSE] L0001
RTRUE
L0001: GET_PROP Geb,#1a -> -(SP)
JZ (SP)+ [FALSE] L0002
CALL_2N R0066 (Geb)
RTRUE
L0002: GET_PARENT "threatening little dwarf" -> -(SP)
JZ (SP)+ [FALSE] L0009
TEST_ATTR G00,#1b [TRUE] L0003
TEST_ATTR G00,#09 [FALSE] L0004
L0003: RTRUE
L0004: GET_PROP Geb,#1a -> -(SP)
RANDOM #64 -> -(SP)
JG (SP)+,(SP)+ [TRUE] L0008
JIN "large cave bear",G00 [TRUE] L0005
JIN "burly troll",G00 [FALSE] L0006
L0005: RTRUE
L0006: NEW_LINE
JIN "dragon",G00 [FALSE] L0007
STORE Gef,Geb
STORE Gee,#1a
GET_PROP Gef,Gee -> Ged
DEC Ged
PUT_PROP Gef,Gee,Ged
PRINT_RET "A dwarf appears, but with one casual blast the dragon
vapourises him!"
L0007: INSERT_OBJ "threatening little dwarf",G00
PRINT_RET "A threatening little dwarf comes out of the shadows!"
L0008: RTRUE
L0009: GET_PARENT "threatening little dwarf" -> -(SP)
JE (SP)+,G00 [TRUE] L0014
JE G00,#13 [FALSE] L0010
RTRUE
L0010: TEST_ATTR G00,#1b [TRUE] L0011
TEST_ATTR G00,#09 [FALSE] L0012
L0011: RTRUE
L0012: RANDOM #64 -> -(SP)
JG (SP)+,#60 [TRUE] L0013
GET_PARENT "threatening little dwarf" -> -(SP)
JE (SP)+,#d2 [TRUE] L0013
INSERT_OBJ "threatening little dwarf",G00
PRINT "
The dwarf stalks after you...
"
JUMP L0014
L0013: REMOVE_OBJ "threatening little dwarf"
RTRUE
L0014: RANDOM #64 -> -(SP)
JG (SP)+,#4b [TRUE] L0018
NEW_LINE
TEST_ATTR Geb,#08 [TRUE] L0015
INSERT_OBJ "dwarvish axe",G00
SET_ATTR Geb,#08
REMOVE_OBJ Geb
PRINT_RET "The dwarf throws a nasty little axe at you, misses,
curses, and runs away."
L0015: JE G00,#d2 [FALSE] L0016
PRINT_RET "The dwarf admires himself in the mirror."
L0016: PRINT "The dwarf throws a nasty little knife at you, "
RANDOM #03e8 -> -(SP)
JG (SP)+,#5f [TRUE] L0017
STORE G0c,#01
PRINT_RET "and hits!"
L0017: PRINT_RET "but misses!"
L0018: RANDOM #03 -> -(SP)
JE (SP)+,#01 [FALSE] L0019
REMOVE_OBJ "threatening little dwarf"
PRINT_RET "
Tiring of this, the dwarf slips away."
L0019: RFALSE
Routine R0316, 0 locals
JE Ge9,#67 [FALSE] L0001
PRINT_RET "You boot the dwarf across the room. He curses, then
gets up and brushes himself off. Now he's madder than ever!"
L0001: RFALSE
Routine R0317, 0 locals
JE Ge9,#5b [FALSE] L0003
JE G1e,#0103 [FALSE] L0002
RANDOM #03 -> -(SP)
JE (SP)+,#01 [TRUE] L0001
REMOVE_OBJ Geb
INSERT_OBJ "dwarvish axe",G00
STORE Gef,Geb
STORE Gee,#1a
GET_PROP Gef,Gee -> Ged
DEC Ged
PUT_PROP Gef,Gee,Ged
PRINT_RET "You killed a little dwarf! The body vanishes in a cloud
of greasy black smoke."
L0001: INSERT_OBJ "dwarvish axe",G00
PRINT_RET "Missed! The little dwarf dodges out of the way of the
axe."
L0002: CALL_VN R0059 (#0a,G1e,G1f)
RTRUE
L0003: JE Ge9,#0a [FALSE] L0005
JE G1e,#23 [FALSE] L0004
PRINT_RET "You fool, dwarves eat only coal! Now you've made him
*really* mad!"
L0004: PRINT_RET "The dwarf is not at all interested in your offer. (The
reason being, perhaps, that if he kills you he gets everything you have
anyway.)"
L0005: JE Ge9,#5c [FALSE] L0006
PRINT_RET "Not with your bare hands. No way."
L0006: RFALSE
Routine R0318, 0 locals
TEST_ATTR "dwarvish axe",#08 [FALSE] RFALSE
JE Ge9,#21 [FALSE] L0001
PRINT_RET "It's lying beside the bear."
L0001: JE Ge9,#01 [FALSE] L0002
PRINT_RET "No chance. It's lying beside the ferocious bear, quite
within harm's way."
L0002: RFALSE
Routine R0319, 2 locals
RANDOM #64 -> -(SP)
JG (SP)+,#02 [TRUE] L0001
JE G00,#13,#9c [TRUE] L0001
TEST_ATTR G00,#09 [TRUE] L0001
TEST_ATTR G00,#1b [FALSE] L0002
L0001: RTRUE
L0002: JIN "threatening little dwarf",G00 [FALSE] L0003
PRINT_RET "
A bearded pirate appears, catches sight of the dwarf and runs away."
L0003: STORE L00,#01
L0004: CALL_VS R0384 (L00,#15) -> -(SP)
JZ (SP)+ [TRUE] L0006
JIN L00,G08 [TRUE] L0005
JIN L00,G00 [FALSE] L0006
L0005: STORE L01,#01
L0006: INC L00
JG L00,#010e [TRUE] L0007
JUMP L0004
L0007: JZ L01 [FALSE] L0010
CALL_VS R0377 (Geb,#4f) -> -(SP)
JZ (SP)+ [TRUE] L0008
RTRUE
L0008: CALL_VN R0376 (Geb,#4f,#01)
CALL_VS R0377 (Geb,#4e) -> -(SP)
JZ (SP)+ [TRUE] L0009
CALL_2N R0066 (Geb)
L0009: PRINT_RET "
There are faint rustling noises from the darkness behind you. As you turn
toward them, you spot a bearded pirate. He is carrying a large chest.
"Shiver me timbers!" he cries, "I've been spotted! I'd best hie meself off to
the maze to hide me chest!"
With that, he vanishes into the gloom."
L0010: CALL_VS R0377 (Geb,#4e) -> -(SP)
JZ (SP)+ [TRUE] L0011
RTRUE
L0011: CALL_VN R0376 (Geb,#4e,#01)
CALL_VS R0377 (Geb,#4f) -> -(SP)
JZ (SP)+ [TRUE] L0012
CALL_2N R0066 (Geb)
L0012: STORE L00,#01
L0013: CALL_VS R0384 (L00,#15) -> -(SP)
JZ (SP)+ [TRUE] L0016
JIN L00,G08 [TRUE] L0014
JIN L00,G00 [FALSE] L0016
L0014: JIN L00,G08 [FALSE] L0015
SUB G06,#05 -> G06
L0015: INSERT_OBJ L00,"?"
L0016: INC L00
JG L00,#010e [TRUE] L0017
JUMP L0013
L0017: PRINT_RET "
Out from the shadows behind you pounces a bearded pirate! "Har, har," he
chortles. "I'll just take all this booty and hide it away with me chest deep in
the maze!" He snatches your treasure and vanishes into the gloom."
Routine R0320, 0 locals
JL G7c,#0f [FALSE] L0001
RTRUE
L0001: CALL_2N R0066 (Geb)
STORE G7a,#01
ADD G06,#19 -> G06
REMOVE_OBJ "crystal bridge"
SET_ATTR "steel grate",#0b
CLEAR_ATTR "steel grate",#0e
REMOVE_OBJ "set of keys"
CALL_2N R0066 (#0102)
CALL_2N R0066 (#0104)
REMOVE_OBJ "burly troll"
REMOVE_OBJ "large cave bear"
REMOVE_OBJ "dragon"
CALL_VN R0063 (#0106,#19)
PRINT_RET "
A sepulchral voice reverberating through the cave says, "Cave closing soon. All
adventurers exit immediately through main office.""
Routine R0321, 0 locals
ADD G06,#0a -> G06
L0001: GET_CHILD G08 -> -(SP) [FALSE] L0002
L0002: JZ (SP)+ [TRUE] L0004
GET_CHILD G08 -> -(SP) [FALSE] L0003
L0003: REMOVE_OBJ (SP)+
JUMP L0001
L0004: INSERT_OBJ "small bottle","NE End of Repository"
GET_CHILD "small bottle" -> -(SP) [FALSE] L0005
L0005: JZ (SP)+ [TRUE] L0007
GET_CHILD "small bottle" -> -(SP) [FALSE] L0006
L0006: REMOVE_OBJ (SP)+
L0007: INSERT_OBJ "giant clam","NE End of Repository"
INSERT_OBJ "brass lantern","NE End of Repository"
INSERT_OBJ "black rod with a rusty star on the end","NE End of
Repository"
INSERT_OBJ "little bird","SW End of Repository"
INSERT_OBJ "velvet pillow","SW End of Repository"
PRINT "
The sepulchral voice intones, "The cave is now closed." As the echoes fade,
there is a blinding flash of light (and a small puff of orange smoke). . .
As your eyes refocus, you look around...
"
CALL_2N R0096 (#0107)
RFALSE
Routine R0322, 0 locals
JE Ge9,#5c [FALSE] L0001
PRINT "You strike the mirror a resounding blow, whereupon it
shatters into a myriad tiny fragments.
"
CALL_VN R0378 (#010a,#0050)
RTRUE
L0001: RFALSE
Routine R0323, 0 locals
JE Ge9,#01 [FALSE] L0001
PRINT_RET "Realizing that by removing the loot here you'd be
ruining the game for future players, you leave the "Adventure" materials where
they are."
L0001: RFALSE
Routine R0324, 0 locals
JE Ge9,#01 [FALSE] L0001
PRINT_RET "What, all of them?"
L0001: RFALSE
Routine R0325, 0 locals
JE Ge9,#38 [FALSE] L0001
PRINT "You prod the nearest dwarf, who wakes up grumpily,
takes one look at you, curses, and grabs for his axe.
"
CALL_VN R0378 (Geb,#0050)
RTRUE
L0001: JE Ge9,#5c [FALSE] L0002
CALL_VN R0378 (Geb,#0050)
RTRUE
L0002: RFALSE
Routine R0326, 0 locals
STORE G0c,#01
PRINT_RET "The resulting ruckus has awakened the dwarves. There
are now dozens of threatening little dwarves in the room with you! Most of them
throw knives at you! All of them get you!"
Routine R0327, 0 locals
JE Ge9,#01 [FALSE] L0001
PRINT_RET "Realizing that by removing the loot here you'd be
ruining the game for future players, you leave the "Adventure" materials where
they are."
L0001: RFALSE
Routine R0328, 0 locals
JE Ge9,#54 [FALSE] L0001
PRINT_RET "Nothing happens."
L0001: RFALSE
Routine R0329, 0 locals
STORE G00,#17
STORE G06,#24
CALL_2N R0065 (#0102)
CALL_2N R0065 (#0104)
CALL_2N R0065 (#0105)
PRINT "
Welcome to Adventure!
"
RTRUE
Routine R0330, 0 locals
PRINT ", earning you the rank of "
JL G06,#015c [TRUE] L0001
PRINT_RET "Grandmaster Adventurer!"
L0001: JL G06,#014a [TRUE] L0002
PRINT_RET "Master, first class."
L0002: JL G06,#012c [TRUE] L0003
PRINT_RET "Master, second class."
L0003: JL G06,#c8 [TRUE] L0004
PRINT_RET "Junior Master."
L0004: JL G06,#82 [TRUE] L0005
PRINT_RET "Seasoned Adventurer."
L0005: JL G06,#64 [TRUE] L0006
PRINT_RET "Experienced Adventurer."
L0006: JL G06,#23 [TRUE] L0007
PRINT_RET "Adventurer."
L0007: JL G06,#0a [TRUE] L0008
PRINT_RET "Novice."
L0008: PRINT_RET "Amateur."
Routine R0331, 0 locals
JZ G7e [FALSE] L0001
STORE G7e,#01
PRINT_RET "It is now pitch dark. If you proceed you will likely
fall into a pit."
L0001: RANDOM #04 -> -(SP)
JE (SP)+,#01 [FALSE] L0002
STORE G0c,#01
PRINT_RET "You fell into a pit and broke every bone in your body!"
L0002: RFALSE
Routine R0332, 0 locals
JZ G6f [FALSE] L0002
STORE G6d,#08
STORE G6e,S303
JE G0c,#02 [FALSE] L0001
RET #04
L0001: RET #03
L0002: JE G6f,#01 [FALSE] L0003
STORE G6d,#06
STORE G6e,S304
L0003: JE G6f,#02 [FALSE] L0004
STORE G6d,#04
STORE G6e,S305
L0004: JE G6f,#03 [FALSE] L0005
STORE G6d,#06
STORE G6e,S306
L0005: JE G6f,#04 [FALSE] L0006
STORE G6d,#07
STORE G6e,S307
L0006: RTRUE
Routine R0333, 0 locals
JE G6f,#01 [FALSE] L0001
PRINT "I know of places, actions, and things. You can guide me
using commands that are complete sentences. To move, try commands like "enter,"
"east," "west," "north," "south," "up," "down," "enter building," "climb pole,"
etc.
"
PRINT "I know about a few special objects, like a black rod
hidden in the cave. These objects can be manipulated using some of the action
words that I know. Usually you will need to give a verb followed by an object
(along with descriptive adjectives when desired), but sometimes I can infer the
object from the verb alone. Some objects also imply verbs; in particular,
"inventory" implies "take inventory", which causes me to give you a list of
what you're carrying. The objects have side effects; for instance, the rod
scares the bird.
"
PRINT "Many commands have abbreviations. For example, you can
type "i" in place of "inventory," "x object" instead of "examine object," etc.
"
PRINT "Usually people having trouble moving just need to try a
few more words. Usually people trying unsuccessfully to manipulate an object
are attempting something beyond their (or my!) capabilities and should try a
completely different tack.
"
PRINT "Note that cave passages turn a lot, and that leaving a
room to the north does not guarantee entering the next from the south.
"
PRINT "If you want to end your adventure early, type "quit".
To suspend your adventure such that you can continue later, type "save," and to
resume a saved game, type "restore." To see how well you're doing, type
"score". To get full credit for a treasure, you must have left it safely in the
building, though you get partial credit just for locating it. You lose points
for getting killed, or for quitting, though the former costs you more. There
are also points based on how much (if any) of the cave you've managed to
explore; in particular, there is a large bonus just for getting in (to
distinguish the beginners from the rest of the pack), and there are other ways
to determine whether you've been through some of the more harrowing sections.
"
PRINT "If you think you've found all the treasures, just keep
exploring for a while. If nothing interesting happens, you haven't found them
all yet. If something interesting *does* happen, it means you're getting a
bonus and have an opportunity to garner many more points in the master's
section.
"
PRINT_RET "Good luck!"
L0001: JE G6f,#02 [FALSE] L0002
PRINT "Perhaps the first adventurer was a mulatto slave named
Stephen Bishop, born about 1820: `slight, graceful, and very handsome'; a
`quick, daring, enthusiastic' guide to the Mammoth Cave in the Kentucky karst.
The story of the Cave is a curious microcosm of American history. Its discovery
is a matter of legend dating back to the 1790s; it is said that a hunter, John
Houchin, pursued a wounded bear to a large pit near the Green River and "
PRINT "stumbled upon the entrance. The entrance was thick with
bats and by the War of 1812 was intensively mined for guano, dissolved into
nitrate vats to make saltpetre for gunpowder. After the war prices fell; but
the Cave became a minor side-show when a dessicated Indian mummy was found
nearby, sitting upright in a stone coffin, surrounded by talismans. In 1815,
Fawn Hoof, as she was nicknamed after one of the charms, was taken away by a
circus, drawing crowds across America (a tour rather reminiscent of Don
McLean's song `The Legend of Andrew McCrew'). She ended up in the Smithsonian
but by the 1820s the Cave was being called one of the wonders of the world,
largely due to her posthumous efforts.
"
PRINT "By the early nineteenth century European caves were big
tourist attractions, but hardly anyone visited the Mammoth, `wonder of the
world' or not. Nor was it then especially large (the name was a leftover from
the miners, who boasted of their mammoth yields of guano). In 1838, Stephen
Bishop's owner bought up the Cave. Stephen, as (being a slave) he was
invariably called, was by any standards a remarkable man: self-educated in
Latin and Greek, he became famous as the `chief ruler' of his underground
realm. He "
PRINT "explored and named much of the layout in his spare
time, doubling the known map in a year. The distinctive flavour of the Cave's
names - half-homespun American, half-classical - started with Stephen: the
River Styx, the Snowball Room, Little Bat Avenue, the Giant Dome. Stephen found
strange blind fish, snakes, silent crickets, the remains of cave bears (savage,
playful creatures, five feet long and four high, which became extinct at the
end of the last Ice Age), centuries-old Indian gypsum workings and ever more
cave. His 1842 map, drafted entirely from memory, was still in use forty years
later.
"
PRINT "As a tourist attraction (and, since Stephen's owner was
a philanthropist, briefly a sanatorium for tuberculosis, owing to a hopeless
medical theory) the Cave became big business: for decades nearby caves were
hotly seized and legal title endlessly challenged. The neighbouring chain,
across Houchins Valley in the Flint Ridge, opened the Great Onyx Cave in 1912.
By the 1920s, the Kentucky Cave "
PRINT "Wars were in full swing. Rival owners diverted tourists
with fake policemen, employed stooges to heckle each other's guided tours,
burned down ticket huts, put out libellous and forged advertisements. Cave
exploration became so dangerous and secretive that finally in 1941 the U.S.
Government stepped in, made much of the area a National Park and effectively
banned caving. The gold rush of tourists was, in any case, waning.
"
PRINT "Convinced that the Mammoth and Flint Ridge caves were
all linked in a huge chain, explorers tried secret entrances for years,
eventually winning official backing. Throughout the 1960s all connections from
Flint Ridge - difficult and water-filled tunnels - ended frustratingly in
chokes of boulders. A `reed-thin' physicist, Patricia Crowther, made the
breakthrough in 1972 when she got through the Tight Spot and found a muddy
passage: it was a hidden way into the Mammoth Cave.
"
PRINT "Under the terms of his owner's will, Stephen Bishop was
freed in 1856, at which time the cave boasted 226 avenues, 47 domes, 23 pits
and 8 waterfalls. He died a year later, before he could buy his wife and son.
In the 1970s, Crowther's muddy passage was found on his map.
"
PRINT "The Mammoth Cave is huge, its full extent still a
matter of speculation (estimates vary from 300 to 500 miles). Although this
game has often been called "Colossal Cave", it is actually a simulation of the
Bedquilt Cave region. Here is Will Crowther's story of how it came about:
"
PRINT ""I had been involved in a non-computer role-playing
game called Dungeons and Dragons at the time, and also I had been actively
exploring in caves - Mammoth Cave in Kentucky in particular. Suddenly, I got
involved in a divorce, and that left me a bit pulled apart in various ways. In
particular I was missing my kids. Also the caving had stopped, because that had
become awkward, so I decided I would fool around and write a program that was a
re-creation in fantasy of my caving, and also would be a game for the kids, and
perhaps some aspects of the Dungeons and Dragons that I had been playing.
"
PRINT ""My idea was that it would be a computer game that
would not be intimidating to non-computer people, and that was one of the
reasons why I made it so that the player directs the game with natural language
input, instead of more standardized commands. My kids thought it was a lot of
fun." [Quoted in "Genesis II: Creation and Recreation with Computers", Dale
Peterson (1983).]
"
PRINT "Crowther's original FORTRAN program had five or so
treasures, but no formal scoring. The challenge was really to explore, though
there was opposition from for instance the snake. Like the real Bedquilt
region, Crowther's simulation has a map on about four levels of depth and is
rich in geological detail. A good example is the orange column which descends
to the Orange River Rock room (where the bird lives): the real column is of
orange travertine, a beautiful mineral found in wet limestone.
"
PRINT "The game's language is loaded with references to
caving, to `domes' and `crawls'. A `slab room', for instance, is a very old
cave whose roof has begun to break away into sharp flakes which litter the
floor in a crazy heap. The program's use of the word `room' for all manner of
caves and places seems slightly sloppy in everyday "
PRINT "English, but is widespread in American caving and goes
back as far as Stephen Bishop: so the Adventure-games usage of the word `room'
to mean `place' may even be bequeathed from him.
"
PRINT "The game took its decisive step toward puzzle-solving
when Don Woods, a student at Stanford, debugged and expanded it. He tripled the
number of treasures and added the non-geological zones: everything from the
Troll Bridge onward, together with most of the antechambers on the Bedquilt
level. All of the many imitations and extensions of the original Adventure are
essentially based on Woods's 350-point edition. (Many bloated, corrupted or
enhanced - it depends how you see it - versions of the game are in Internet
circulation, and the most useful way to identify them is by the maximum
attainable score. Many versions exist scoring up to around the 400s and 500s,
and one up to 1000. Woods himself continues to release new versions of his
game; most of the other extenders haven't his talent.)
"
PRINT "Although the game has veered away from pure simulation,
a good deal of it remains realistic. Cavers do turn back when their carbide
lamps flicker; there are indeed mysterious markings and initials on the cave
walls, some left by the miners, some by Bishop, some by 1920s explorers. Of
course there isn't an active volcano in central Kentucky, nor are there dragons
and dwarves. But even these embellishments are, in a sense, derived "
PRINT "from tradition: like most of the early role-playing
games, `Adventure' owes much to J. R. R. Tolkien's `The Hobbit', and the
passage through the mountains and Moria of `The Lord of the Rings' (arguably
its most dramatic and atmospheric passage). Tolkien himself, the most
successful myth-maker of the twentieth century, worked from the example of
Icelandic, Finnish and Welsh sagas.
"
PRINT "By 1977 tapes of `Adventure' were being circulated
widely, by the Digital user group DECUS, amongst others: taking over lunchtimes
and weekends wherever it went... but that's another story. (Tracy Kidder's
fascinating book `The Soul of a New Machine', a journalist's-eye-view of a
mainframe computer development group, catches it well.)
"
PRINT_RET "This is a copy at third or fourth hand: from Will
Crowther's original to Donald Woods's 350-point edition to Donald Ekman's PC
port to David M. Baggett's excellent TADS version (1993), to this.
"
L0002: JE G6f,#03 [FALSE] L0003
PRINT "This port is fairly close to the original. The puzzles,
items and places of Woods's original 350-point version are exactly those here.
"
PRINT "I have added a few helpful messages, such as "This is a
dead end.", here and there: and restored some "initial position" messages from
objects, such as the (rather lame)
There is tasty food here.
from source files which are certainly early but of doubtful provenance. They
seem to sit well with the rest of the text.
"
PRINT "The scoring system is the original, except that you no
longer lose 4 points for quitting (since you don't get the score if you quit an
Inform game, this makes no difference) and, controversially, I award 5 points
for currently carrying a treasure, as some early 1980s ports did. The rank
names are tidied up a little. The only significant rule change is that one
cannot use magic words until their destinations have been visited.
"
PRINT "The dwarves are simpler in their movements, but on the
other hand I have added a very few messages to make them interact better with
the rest of the game. The probabilities are as in the original game.
"
PRINT "In the original one could type the name of a room to
visit it: for the sake of keeping the code small, I have omitted this feature,
but with some regrets.
"
PRINT "The text itself is almost everywhere preserved intact,
but I've corrected some spelling and grammatical mistakes (and altered a couple
of utterly misleading and gnomic remarks). The instructions have been slightly
altered (for obvious reasons) but are basically as written.
"
PRINT_RET "A good source for details is David Baggett's source
code, which is circulated on the Internet."
L0003: PRINT "Did you know that...
"
PRINT "The five dwarves have a 96% chance of following you,
except into light, down pits or when admiring themselves: and the nasty little
knives are 9.5% accurate.
"
PRINT "Dragons burn up dwarves (perhaps because dwarves eat
only coal).
"
PRINT "The bear (who likes the volcano) is too heavy for the
bridge... and you can go back to the scene after being resurrected.
"
PRINT "You can slip past the snake into the secret E/W canyon,
35% of the time at any rate. And walking about in the dark is not all that
gruesome: it carries only a 25% risk of falling down a pit.
"
PRINT "The vase does not like being immersed.
"
PRINT "Shadowy figures can wave to each other.
"
PRINT "Watering the hinges of the door rusts them up again.
"
PRINT "When the cave closes, the grate is locked and the keys
are thrown away, creatures run off and the crystal bridge vanishes...
"
PRINT "...and a completely useless hint is written on the
giant oyster's shell in the end game.
"
PRINT_RET "The last lousy point can be won by... but no. That
would be telling."
Routine R0334, 0 locals
Action routine for:
"help"
JE G0c,#02 [TRUE] L0001
CALL_VN R0062 (S308,#3f5d,#3f6f)
JUMP L0002
L0001: CALL_VN R0062 (S309,#3f5d,#3f6f)
L0002: RTRUE
Routine R0335, 0 locals
CALL_1N R0334
RTRUE
Routine R0336, 0 locals
Action routine for:
"capture CREATURE"
"capture CREATURE with HELD"
PRINT "You can't catch "
CALL_2N R0077 (G1e)
PRINT_RET "."
Routine R0337, 0 locals
Action routine for:
"free CREATURE"
PRINT "You can't release "
CALL_2N R0077 (G1e)
PRINT_RET "."
Routine R0338, 0 locals
Action routine for:
"douse water on NOUN"
"water NOUN"
JIN "small bottle",G08 [FALSE] L0001
CALL_VN R0059 (#61,#25)
RTRUE
L0001: PRINT_RET "Water? What water?"
Routine R0339, 0 locals
Action routine for:
"douse oil on NOUN"
"grease NOUN"
JIN "small bottle",G08 [FALSE] L0001
CALL_VN R0059 (#61,#25)
RTRUE
L0001: PRINT_RET "Oil? What oil?"
Routine R0340, 0 locals
Action routine for:
"on"
JIN "brass lantern",G08 [TRUE] L0001
PRINT_RET "You have no lamp."
L0001: CALL_VN R0059 (#2d,#24)
RTRUE
Routine R0341, 0 locals
Action routine for:
"off"
JIN "brass lantern",G08 [TRUE] L0001
PRINT_RET "You have no lamp."
L0001: CALL_VN R0059 (#2e,#24)
RTRUE
Routine R0342, 0 locals
Action routine for:
"xyzzy"
PRINT_RET "Nothing happens."
Routine R0343, 0 locals
Action routine for:
"plugh"
PRINT_RET "Nothing happens."
Routine R0344, 0 locals
Action routine for:
"plover"
PRINT_RET "Nothing happens."
Routine R0345, 0 locals
Action routine for:
"fee"
CALL_2N R0349 (#00)
RTRUE
Routine R0346, 0 locals
Action routine for:
"fie"
CALL_2N R0349 (#01)
RTRUE
Routine R0347, 0 locals
Action routine for:
"foe"
CALL_2N R0349 (#02)
RTRUE
Routine R0348, 0 locals
Action routine for:
"foo"
CALL_2N R0349 (#03)
RTRUE
Routine R0349, 1 local
JE G7f,L00 [TRUE] L0001
STORE G7f,#00
PRINT_RET "Get it right, dummy!"
L0001: PUSH G7f
INC G7f
JE (SP)+,#03 [FALSE] L0009
STORE G7f,#00
JIN "nest of golden eggs","Giant Room" [FALSE] L0002
PRINT_RET "Nothing happens."
L0002: JIN "nest of golden eggs",G08 [TRUE] L0003
JIN "nest of golden eggs",G00 [FALSE] L0004
L0003: PRINT "The nest of golden eggs has vanished!
"
JUMP L0005
L0004: PRINT "Done!"
L0005: JIN "nest of golden eggs",G08 [FALSE] L0006
SUB G06,#05 -> G06
L0006: JIN "nest of golden eggs","Inside Building" [FALSE] L0007
CALL_VS R0377 (#b0,#48) -> -(SP)
SUB G06,(SP)+ -> G06
L0007: INSERT_OBJ "nest of golden eggs","Giant Room"
JE G00,#ae [FALSE] L0008
PRINT_RET "
A large nest full of golden eggs suddenly appears out of nowhere!"
L0008: JUMP L0010
L0009: PRINT_RET "Ok."
L0010: RTRUE
Routine R0350, 0 locals
Action routine for:
"count NOUN"
TEST_ATTR G1e,#1d [FALSE] L0001
PRINT_RET "There are a multitude."
L0001: PRINT "I see one (1) "
CALL_2N R0079 (G1e)
PRINT_RET "."
Routine R0351, 0 locals
Action routine for:
"use"
PRINT_RET "You'll have to be a bit more explicit than that."
Routine R0352, 0 locals
Action routine for:
"blast NOUN with HELD"
JE G1f,#010e [TRUE] L0001
PRINT_RET "Blasting requires dynamite."
L0001: PRINT_RET "Been eating those funny brownies again?"
Routine R0353, 0 locals
Action routine for:
"abracadab"
PRINT_RET "Good try, but that is an old worn-out magic word."
Routine R0354, 0 locals
Action routine for:
"kick NOUN"
CALL_VN R0059 (#5c,G1e)
RTRUE
Routine R0355, 0 locals
Action routine for:
"blast"
JE G00,#010b,#0107 [TRUE] L0001
PRINT_RET "Frustrating, isn't it?"
L0001: JE G00,#010b [FALSE] L0002
GET_PARENT "black rod with a rusty mark on the end" -> -(SP)
JE (SP)+,#0107 [FALSE] L0002
ADD G06,#23 -> G06
STORE G0c,#02
PRINT_RET "There is a loud explosion, and a twenty-foot hole
appears in the far wall, burying the dwarves in the rubble. You march through
the hole and find yourself in the main office, where a cheering band of
friendly elves carry the conquering adventurer off into the sunset."
L0002: JE G00,#0107 [FALSE] L0003
GET_PARENT "black rod with a rusty mark on the end" -> -(SP)
JE (SP)+,#010b [FALSE] L0003
ADD G06,#14 -> G06
STORE G0c,#01
PRINT_RET "There is a loud explosion, and a twenty-foot hole
appears in the far wall, burying the snakes in the rubble. A river of molten
lava pours in through the hole, destroying everything in its path, including
you!"
L0003: STORE G0c,#01
PRINT_RET "There is a loud explosion, and you are suddenly
splashed across the walls of the room."
Routine R0356, 1 local
JE G0c,#03 [FALSE] L0001
STORE G0c,#01
RFALSE
L0001: PRINT "
"
JZ G7a [TRUE] L0002
PRINT_RET "It looks as though you're dead. Well, seeing as how
it's so close to closing time anyway, I think we'll just call it a day."
L0002: JZ G7d [FALSE] L0003
PRINT "Oh dear, you seem to have gotten yourself killed. I
might be able to help you out, but I've never really done this before. Do you
want me to try to reincarnate you?
"
L0003: JE G7d,#01 [FALSE] L0004
PRINT "You clumsy oaf, you've done it again! I don't know how
long I can keep this up. Do you want me to try reincarnating you again?
"
L0004: JE G7d,#02 [FALSE] L0005
PRINT "Now you've really done it! I'm out of orange smoke! You
don't expect me to do a decent reincarnation without any orange smoke, do you?
"
L0005: PRINT "> "
CALL_1S R0098 -> -(SP)
JZ (SP)+ [FALSE] L0008
STORE Gef,G7d
JE Gef,#00 [FALSE] L0006
PRINT_RET "Very well."
L0006: JE Gef,#01 [FALSE] L0007
PRINT_RET "Probably a wise choice."
L0007: JE Gef,#02 [FALSE] L0008
PRINT_RET "I thought not!"
L0008: STORE Gef,G7d
JE Gef,#00 [FALSE] L0009
PRINT "All right. But don't blame me if something goes
wr......
--- POOF!! ---
You are engulfed in a cloud of orange smoke. Coughing and gasping, you emerge
from the smoke and find that you're....
"
JUMP L0011
L0009: JE Gef,#01 [FALSE] L0010
PRINT "Okay, now where did I put my orange smoke?.... >POOF!<
Everything disappears in a dense cloud of orange smoke.
"
JUMP L0011
L0010: JE Gef,#02 [FALSE] L0011
PRINT_RET "Okay, if you're so smart, do it yourself! I'm leaving!"
L0011: INC G7d
SUB G06,#0a -> G06
JE G00,#13 [TRUE] L0017
L0012: GET_CHILD G08 -> -(SP) [FALSE] L0013
L0013: JZ (SP)+ [TRUE] L0016
GET_CHILD G08 -> L00 [FALSE] L0014
L0014: INSERT_OBJ L00,G00
CALL_VS R0384 (L00,#15) -> -(SP)
JZ (SP)+ [TRUE] L0015
SUB G06,#05 -> G06
L0015: JUMP L0012
L0016: JUMP L0020
L0017: GET_CHILD G08 -> -(SP) [FALSE] L0018
L0018: JZ (SP)+ [TRUE] L0020
GET_CHILD G08 -> -(SP) [FALSE] L0019
L0019: INSERT_OBJ (SP)+,G0a
JUMP L0017
L0020: INSERT_OBJ "brass lantern","At End Of Road"
CLEAR_ATTR "brass lantern",#0d
CLEAR_ATTR "brass lantern",#09
REMOVE_OBJ "threatening little dwarf"
STORE G0c,#00
CALL_2N R0096 (#1f)
RTRUE
Routine R0357, 0 locals
Parsing routine for:
"go NOUN [parse 0]"
JIN G1e,"compass" [TRUE] RTRUE
RFALSE
Routine R0358, 1 local
Parsing routine for:
"consult NOUN about TEXT [parse 2]"
"consult NOUN on TEXT [parse 2]"
"answer TEXT [parse 2] to CREATURE"
"tell CREATURE about TEXT [parse 2]"
"ask CREATURE about TEXT [parse 2]"
STORE G28,G2f
L0001: CALL_1S R0038 -> L00
JE L00,#ffff [TRUE] L0002
JE L00,"to" [FALSE] L0001
JE G60,#02 [FALSE] L0001
L0002: DEC G2f
SUB G2f,G28 -> G29
JZ G29 [FALSE] L0003
RET #ffff
L0003: JE G60,#03,#02,#05 [FALSE] L0005
STORE L00,G2f
STORE G2f,G28
CALL_1S R0037 -> G22
JE G22,"the" [FALSE] L0004
JG G29,#01 [FALSE] L0004
CALL_1S R0037 -> G22
L0004: STORE G2f,L00
RTRUE
L0005: RFALSE
Routine R0359, 1 local
Parsing routine for:
"l up TEXT [parse 1] in NOUN"
"read about TEXT [parse 1] in NOUN"
"read TEXT [parse 1] in NOUN"
STORE G28,G2f
L0001: CALL_1S R0038 -> L00
JE L00,"in",#ffff [FALSE] L0001
JE L00,#ffff [FALSE] L0002
RET #ffff
L0002: DEC G2f
SUB G2f,G28 -> G29
JZ G29 [FALSE] L0003
RET #ffff
L0003: RFALSE
Routine R0360, 0 locals
RFALSE
Routine R0361, 0 locals
RFALSE
Routine R0362, 0 locals
RFALSE
Routine R0363, 0 locals
RFALSE
Routine R0364, 0 locals
RFALSE
Routine R0365, 0 locals
RFALSE
Routine R0366, 0 locals
RFALSE
Routine R0367, 0 locals
RFALSE
Routine R0368, 1 local
RFALSE
Routine R0369, 1 local
RFALSE
Routine R0370, 1 local
RFALSE
Routine R0371, 1 local
RFALSE
Routine R0372, 1 local
RFALSE
Routine R0373, 2 locals
RFALSE
Routine R0374, 2 locals
RFALSE
Routine R0375, 1 local
STORE L00,L00
RET #ffff
Routine R0376, 4 locals
CALL_VS R0381 (L00,L01) -> L03
JZ L03 [FALSE] L0001
CALL_VN R0386 (S310,L00,L01)
RTRUE
L0001: STOREW L03,#00,L02
RTRUE
Routine R0377, 3 locals
CALL_VS R0381 (L00,L01) -> L02
JZ L02 [FALSE] L0002
JL L01,#01 [TRUE] L0001
JL L01,#40 [FALSE] L0001
GET_PROP L00,L01 -> -(SP)
RET_POPPED
L0001: CALL_VN R0386 (S311,L00,L01)
RTRUE
L0002: LOADW L02,#00 -> -(SP)
RET_POPPED
Routine R0378, 11 locals
JL L00,#01 [TRUE] L0001
SUB #020d,#ff -> -(SP)
JG L00,(SP)+ [FALSE] L0007
L0001: CALL_2S R0387 (L00) -> -(SP)
PULL Gef
JE Gef,#02 [FALSE] L0003
JE L01,#45 [FALSE] L0002
STORE L08,L00
JUMP L0033
L0002: JUMP L0030
L0003: JE Gef,#03 [FALSE] L0006
JE L01,#46 [FALSE] L0004
STORE L08,L00
JUMP L0035
L0004: JE L01,#47 [FALSE] L0005
OUTPUT_STREAM REDIRECT_ENABLE,L02
PRINT_PADDR L00
OUTPUT_STREAM #fffd
LOADW L02,#00 -> -(SP)
RET_POPPED
L0005: JUMP L0030
L0006: JUMP L0030
L0007: JL L01,#00 [TRUE] L0010
JL L01,#40 [FALSE] L0010
GET_PROP_ADDR L00,L01 -> L08
JZ L08 [FALSE] L0008
GET_PROP L00,L01 -> L08
JUMP L0009
L0008: LOADW L08,#00 -> L08
L0009: JUMP L0032
L0010: JL L01,#40 [TRUE] L0029
JL L01,#48 [FALSE] L0029
JIN L00,"Class" [FALSE] L0029
STORE Gef,L01
JE Gef,#40 [FALSE] L0015
STORE Gef,#00
GET_CHILD L00 -> -(SP) [FALSE] L0012
L0011: INC Gef
GET_SIBLING (SP)+ -> -(SP) [TRUE] L0011
L0012: PULL Gee
PUSH Gef
JG (SP)+,#01 [FALSE] RFALSE
GET_CHILD L00 -> L08 [FALSE] L0013
L0013: REMOVE_OBJ L08
CALL_VS R0383 (L08,#40) -> -(SP)
JZ (SP)+ [TRUE] L0014
CALL_VN R0378 (L08,#40)
L0014: RET L08
L0015: JE Gef,#41 [FALSE] L0019
CALL_VS R0384 (L02,L00) -> -(SP)
JZ (SP)+ [FALSE] L0016
SUB #00,L00 -> -(SP)
CALL_VN R0386 (S312,L02,(SP)+)
RFALSE
L0016: GET_CHILD L00 -> -(SP) [FALSE] L0017
L0017: CALL_VN R0385 (L02,(SP)+)
CALL_VS R0383 (L02,#40) -> -(SP)
JZ (SP)+ [TRUE] L0018
CALL_VN R0378 (L02,#40)
L0018: RFALSE
L0019: JE Gef,#42 [FALSE] L0023
CALL_VS R0384 (L02,L00) -> -(SP)
JZ (SP)+ [FALSE] L0020
SUB #00,L00 -> -(SP)
CALL_VN R0386 (S313,L02,(SP)+)
RFALSE
L0020: CALL_VS R0383 (L02,#42) -> -(SP)
JZ (SP)+ [TRUE] L0021
CALL_VN R0378 (L02,#42)
L0021: GET_CHILD L00 -> -(SP) [FALSE] L0022
L0022: CALL_VN R0385 (L02,(SP)+)
INSERT_OBJ L02,L00
RFALSE
L0023: JE Gef,#43 [FALSE] L0026
STORE Gef,#00
GET_CHILD L00 -> -(SP) [FALSE] L0025
L0024: INC Gef
GET_SIBLING (SP)+ -> -(SP) [TRUE] L0024
L0025: PULL Gee
PUSH Gef
SUB (SP)+,#01 -> -(SP)
RET_POPPED
L0026: JE Gef,#44 [FALSE] L0029
CALL_VS R0384 (L02,L00) -> -(SP)
JZ (SP)+ [FALSE] L0027
SUB #00,L00 -> -(SP)
CALL_VN R0386 (S314,L02,(SP)+)
RFALSE
L0027: CALL_VS R0384 (L03,L00) -> -(SP)
JZ (SP)+ [FALSE] L0028
SUB #00,L00 -> -(SP)
CALL_VN R0386 (S315,L03,(SP)+)
RFALSE
L0028: CALL_VN R0385 (L02,L03)
RFALSE
L0029: CALL_VS R0381 (L00,L01) -> L08
JZ L08 [FALSE] L0031
L0030: CALL_VN R0386 (S316,L00,L01)
RTRUE
L0031: LOADW L08,#00 -> L08
L0032: JE L08,#ffff [TRUE] RFALSE
CALL_2S R0387 (L08) -> -(SP)
PULL Gef
JE Gef,#02 [FALSE] L0034
L0033: STORE L09,Geb
STORE L0a,Gea
STORE Gea,Geb
STORE Geb,L00
STORE Ge9,G19
CALL_VS2 L08 (L02,L03,L04,L05,L06,L07) -> L08
STORE Geb,L09
STORE Gea,L0a
RET L08
L0034: JE Gef,#03 [FALSE] L0036
L0035: PRINT_PADDR L08
NEW_LINE
RTRUE
L0036: RET L08
Routine R0379, 3 locals
CALL_VS R0381 (L00,L01) -> L02
JZ L02 [FALSE] L0001
CALL_VN R0386 (S317,L00,L01)
RTRUE
L0001: STORE Gef,L02
STORE Gee,#00
LOADW Gef,Gee -> Ged
PUSH Ged
INC Ged
STOREW Gef,Gee,Ged
RET_POPPED
Routine R0380, 3 locals
CALL_VS R0381 (L00,L01) -> L02
JZ L02 [FALSE] L0001
CALL_VN R0386 (S318,L00,L01)
RTRUE
L0001: STORE Gef,L02
STORE Gee,#00
LOADW Gef,Gee -> Ged
DEC Ged
STOREW Gef,Gee,Ged
PUSH Ged
RET_POPPED
Routine R0381, 5 locals
JL L01,#40 [FALSE] L0001
JG L01,#00 [FALSE] L0001
GET_PROP_ADDR L00,L01 -> -(SP)
RET_POPPED
L0001: GET_PROP_ADDR L00,#03 -> -(SP)
JZ (SP)+ [TRUE] RFALSE
AND L01,#8000 -> -(SP)
JZ (SP)+ [TRUE] L0004
AND L01,#01ff -> -(SP)
LOADW #2fba,(SP)+ -> L04
GET_PROP_ADDR L04,#03 -> -(SP)
JZ (SP)+ [TRUE] RFALSE
CALL_VS R0384 (L00,L04) -> -(SP)
JZ (SP)+ [TRUE] RFALSE
AND L01,#7e00 -> -(SP)
DIV (SP)+,#0200 -> L01
GET_PROP L04,#03 -> L02
L0002: JG L01,#00 [FALSE] L0003
DEC L01
LOADB L02,#02 -> -(SP)
ADD L02,(SP)+ -> -(SP)
ADD (SP)+,#03 -> L02
JUMP L0002
L0003: ADD L02,#03 -> -(SP)
RET_POPPED
L0004: JIN L00,"Class" [FALSE] L0005
JL L01,#40 [TRUE] RFALSE
JL L01,#48 [FALSE] RFALSE
L0005: JE Geb,L00 [FALSE] L0006
OR L01,#8000 -> L03
L0006: GET_PROP L00,#03 -> L02
L0007: LOADW L02,#00 -> -(SP)
JZ (SP)+ [TRUE] L0009
LOADW L02,#00 -> -(SP)
JE (SP)+,L01,L03 [FALSE] L0008
ADD L02,#03 -> -(SP)
RET_POPPED
L0008: LOADB L02,#02 -> -(SP)
ADD L02,(SP)+ -> -(SP)
ADD (SP)+,#03 -> L02
JUMP L0007
L0009: RFALSE
Routine R0382, 3 locals
JL L01,#40 [FALSE] L0002
JG L01,#00 [FALSE] L0002
GET_PROP_ADDR L00,L01 -> Gef
JZ Gef [TRUE] L0001
GET_PROP_LEN Gef -> Gef
L0001: PUSH Gef
RET_POPPED
L0002: CALL_VS R0381 (L00,L01) -> L02
JZ L02 [TRUE] RFALSE
SUB L02,#01 -> -(SP)
LOADB (SP)+,#00 -> -(SP)
RET_POPPED
Routine R0383, 2 locals
JL L00,#01 [TRUE] L0001
SUB #020d,#ff -> -(SP)
JG L00,(SP)+ [FALSE] L0004
L0001: JE L01,#46,#47,#45 [FALSE] RFALSE
CALL_2S R0387 (L00) -> -(SP)
PULL Gef
JE Gef,#02 [FALSE] L0002
JE L01,#45 [TRUE] RTRUE
JUMP L0003
L0002: JE Gef,#03 [FALSE] L0003
JE L01,#46,#47 [TRUE] RTRUE
L0003: RFALSE
L0004: JL L01,#40 [FALSE] L0005
GET_PROP_ADDR L00,L01 -> -(SP)
JZ (SP)+ [FALSE] RTRUE
RFALSE
L0005: CALL_VS R0381 (L00,L01) -> -(SP)
JZ (SP)+ [FALSE] RTRUE
JL L01,#48 [FALSE] L0006
JIN L00,"Class" [TRUE] RTRUE
L0006: RFALSE
Routine R0384, 5 locals
JL L00,#01 [TRUE] L0001
SUB #020d,#ff -> -(SP)
JG L00,(SP)+ [FALSE] L0002
L0001: JE L01,#03,#04 [FALSE] RFALSE
SUB L01,#01 -> -(SP)
CALL_2S R0387 (L00) -> -(SP)
JE (SP)+,(SP)+ [TRUE] RTRUE
RFALSE
L0002: STORE Gef,L01
JE Gef,#01 [FALSE] L0003
JG L00,#04 [FALSE] RTRUE
JIN L00,"Class" [TRUE] RTRUE
RFALSE
L0003: JE Gef,#02 [FALSE] L0004
JG L00,#04 [FALSE] RFALSE
JIN L00,"Class" [TRUE] RFALSE
RTRUE
L0004: JE Gef,#03,#04 [FALSE] L0005
RFALSE
L0005: JIN L01,"Class" [TRUE] L0006
CALL_VN R0386 (S319,L01,#ffff)
RFALSE
L0006: GET_PROP_ADDR L00,#02 -> L03
JZ L03 [TRUE] RFALSE
GET_PROP_ADDR L00,#02 -> Gef
JZ Gef [TRUE] L0007
GET_PROP_LEN Gef -> Gef
L0007: STORE L04,Gef
STORE L02,#00
L0008: DIV L04,#02 -> -(SP)
JL L02,(SP)+ [FALSE] L0009
LOADW L03,L02 -> -(SP)
JE (SP)+,L01 [TRUE] RTRUE
INC L02
JUMP L0008
L0009: RFALSE
Routine R0385, 9 locals
STORE L04,#00
L0001: JL L04,#30 [FALSE] L0004
TEST_ATTR L01,L04 [FALSE] L0002
SET_ATTR L00,L04
JUMP L0003
L0002: CLEAR_ATTR L00,L04
L0003: INC L04
JUMP L0001
L0004: STORE L04,#01
L0005: JL L04,#40 [FALSE] L0010
GET_PROP_ADDR L00,L04 -> L02
GET_PROP_ADDR L01,L04 -> L03
GET_PROP_ADDR L00,L04 -> Gef
JZ Gef [TRUE] L0006
GET_PROP_LEN Gef -> Gef
L0006: STORE L07,Gef
JZ L02 [TRUE] L0009
JZ L03 [TRUE] L0009
GET_PROP_ADDR L01,L04 -> Gef
JZ Gef [TRUE] L0007
GET_PROP_LEN Gef -> Gef
L0007: PUSH Gef
JE L07,(SP)+ [FALSE] L0009
STORE L05,#00
L0008: JL L05,L07 [FALSE] L0009
LOADB L03,L05 -> -(SP)
STOREB L02,L05,(SP)+
INC L05
JUMP L0008
L0009: INC L04
JUMP L0005
L0010: GET_PROP_ADDR L00,#03 -> -(SP)
JZ (SP)+ [TRUE] L0011
GET_PROP_ADDR L01,#03 -> -(SP)
JZ (SP)+ [FALSE] L0012
L0011: RTRUE
L0012: GET_PROP L01,#03 -> L04
JUMP L0014
L0013: ADD L04,L07 -> -(SP)
ADD (SP)+,#03 -> L04
L0014: LOADW L04,#00 -> -(SP)
JZ (SP)+ [TRUE] L0020
LOADW L04,#00 -> L08
LOADB L04,#02 -> L07
GET_PROP L00,#03 -> L05
JUMP L0016
L0015: LOADB L05,#02 -> -(SP)
ADD L05,(SP)+ -> -(SP)
ADD (SP)+,#03 -> L05
L0016: LOADW L05,#00 -> -(SP)
JZ (SP)+ [TRUE] L0019
LOADW L05,#00 -> -(SP)
AND (SP)+,#7fff -> -(SP)
AND L08,#7fff -> -(SP)
JE (SP)+,(SP)+ [FALSE] L0018
LOADB L05,#02 -> -(SP)
JE L07,(SP)+ [FALSE] L0018
STORE L06,#03
L0017: ADD L07,#03 -> -(SP)
JL L06,(SP)+ [FALSE] L0018
LOADB L04,L06 -> -(SP)
STOREB L05,L06,(SP)+
INC L06
JUMP L0017
L0018: JUMP L0015
L0019: JUMP L0013
L0020: RTRUE
Routine R0386, 5 locals
PRINT "
** Run-time error: "
JIN L01,"Class" [FALSE] L0001
PRINT "Class "
L0001: PRINT_OBJ L01
PRINT " (object number "
PRINT_NUM L01
PRINT ") "
JL L02,#00 [FALSE] L0002
PRINT "is not of class "
SUB #00,L02 -> -(SP)
CALL_2N R0079 ((SP)+)
JUMP L0004
L0002: PRINT " has no property "
CALL_2N R0001 (L02)
STORE L04,#2fd2
LOADW L04,#00 -> L03
JL L02,#00 [TRUE] L0003
JL L02,L03 [TRUE] L0004
L0003: PRINT " (and nor has any other object)"
L0004: PRINT " to "
PRINT_PADDR L00
PRINT " **
"
RTRUE
Routine R0387, 1 local
JZ L00 [TRUE] RFALSE
JL L00,#01 [TRUE] L0001
SUB #020d,#ff -> -(SP)
JG L00,(SP)+ [FALSE] RTRUE
L0001: CALL_VS R0388 (L00,S001 OR "lubricate") -> -(SP)
JL (SP)+,#00 [TRUE] L0002
RET #03
L0002: CALL_VS R0388 (L00,#1667) -> -(SP)
JL (SP)+,#00 [TRUE] L0003
RET #02
L0003: RFALSE
Routine R0388, 4 locals
JE L00,L01 [FALSE] L0001
RFALSE
L0001: JL L00,#00 [FALSE] L0002
JL L01,#00 [TRUE] L0002
RTRUE
L0002: JL L00,#00 [TRUE] L0003
JL L01,#00 [FALSE] L0003
RET #ffff
L0003: AND L00,#7fff -> L02
AND L01,#7fff -> L03
JG L02,L03 [FALSE] L0004
RTRUE
L0004: RET #ffff
[End of code]
[Start of text]
S001: "ADVENTURE"
S002: "
The Interactive Original
By Will Crowther (1973) and Don Woods (1977)
Reconstructed in three steps by:
Donald Ekman, David M. Baggett (1993) and Graham Nelson (1994)
[In memoriam Stephen Bishop (1820?-1857): GN]
"
S003: "960912"
S004: "6/2"
S005: "a"
S006: "You can't go that way."
S007: "the"
S008: "the"
S009: "the"
S010: "the"
S011: "the"
S012: "the"
S013: "the"
S014: "the"
S015: "the"
S016: "the"
S017: "the"
S018: "the"
S019: "Darkness"
S020: "It is pitch dark, and you can't see a thing."
S021: "As good-looking as ever."
S022: "Nameless item"
S023: "your former self"
S024: "You are standing at the end of a road before a small brick building.
Around you is a forest. A small stream flows out of the building and down a
gully."
S025: "It's a small brick building. It seems to be a well house."
S026: "The road is dirt, not yellow brick."
S027: "The trees of the forest are large hardwood oak and maple, with an
occasional grove of pine or spruce. There is quite a bit of undergrowth,
largely birch and ash saplings plus nondescript bushes of various sorts. This
time of year visibility is quite restricted by all the leaves, but travel is
quite easy if you detour around the spruce and berry bushes."
S028: "You have walked up a hill, still in the forest. The road slopes back
down the other side of the hill. There is a building in the distance."
S029: "It's just a typical hill."
S030: "the"
S031: "Why not explore it yourself?"
S032: "You are inside a building, a well house for a large spring."
S033: "The stream flows out through a pair of 1 foot diameter sewer pipes. The
only exit is to the west."
S034: "The pipes are too small."
S035: "The stream flows out through a pair of 1 foot diameter sewer pipes."
S036: "Too small. The only exit is to the west."
S037: "It's just a normal-looking set of keys."
S038: "There are some keys on the ground here."
S039: "Sure looks yummy!"
S040: "some"
S041: "There is tasty food here."
S042: "There is a shiny brass lamp nearby."
S043: "Your lamp is here, gleaming brightly."
S044: "There is an empty bottle here."
S045: "some"
S046: "It looks like ordinary water to me."
S047: "some"
S048: "It looks like ordinary oil to me."
S049: "You are in open forest, with a deep valley to one side."
S050: "You are in open forest near both a valley and a road."
S051: "You are in a valley in the forest beside a stream tumbling along a rocky
bed."
S052: "At your feet all the water of the stream splashes into a 2-inch slit in
the rock. Downstream the streambed is bare rock."
S053: "You don't fit through a two-inch slit!"
S054: "You don't fit through a two-inch slit!"
S055: "It's just a 2-inch slit in the rock, through which the stream is
flowing."
S056: "You are in a 20-foot depression floored with bare dirt. Set into the
dirt is a strong steel grate mounted in concrete. A dry streambed leads into
the depression."
S057: "You're standing in it."
S058: "It just looks like an ordinary grate mounted in concrete."
S059: "You are in a small chamber beneath a 3x3 steel grate to the surface. A
low crawl over cobbles leads inward to the west."
S060: "They're just ordinary cobbles."
S061: "You are crawling over cobbles in a low passage. There is a dim light at
the east end of the passage."
S062: "It's a small wicker cage."
S063: "There is a small wicker cage discarded nearby."
S064: "You are in a debris room filled with stuff washed in from the surface. A
low wide passage with cobbles becomes plugged with mud and debris here, but an
awkward canyon leads upward and west.
A note on the wall says, "Magic word XYZZY.""
S065: "Yuck."
S066: "The note says "Magic word XYZZY"."
S067: "It's a three foot black rod with a rusty star on an end."
S068: "A three foot black rod with a rusty star on one end lies nearby."
S069: "You are in an awkward sloping east/west canyon."
S070: "You are in a splendid chamber thirty feet high. The walls are frozen
rivers of orange stone. An awkward canyon and a good passage exit from east and
west sides of the chamber."
S071: "A cheerful little bird is sitting here singing."
S072: "At your feet is a small pit breathing traces of white mist. A west
passage ends here except for a small crack leading on.
Rough stone steps lead down the pit."
S073: "The crack is far too small for you to follow."
S074: "The pit is breathing traces of white mist."
S075: "The crack is very small -- far too small for you to follow."
S076: "Mist is a white vapor, usually water, seen from time to time in caverns.
It can be found anywhere but is frequently a sign of a deep pit leading down to
water."
S077: "You are at one end of a vast hall stretching forward out of sight to the
west. There are openings to either side. Nearby, a wide stone staircase leads
downward. The hall is filled with wisps of white mist swaying to and fro almost
as if alive. A cold wind blows up the staircase. There is a passage at the top
of a dome behind you.
Rough stone steps lead up the dome."
S078: "The staircase leads down."
S079: "The rough stone steps lead up the dome."
S080: "This is a low room with a crude note on the wall:
"You won't get it up the steps"."
S081: "The note says, "You won't get it up the steps"."
S082: "It's a large sparkling nugget of gold!"
S083: "There is a large sparkling nugget of gold here!"
S084: "The fissure is too terrifying!"
S085: "You are on the east bank of a fissure slicing clear across the hall. The
mist is quite thick here, and the fissure is too wide to jump."
S086: "The fissure is too wide."
S087: "You are on the west side of the fissure in the hall of mists."
S088: "The fissure is too wide."
S089: "some"
S090: "They look to be of the highest quality!"
S091: "There are diamonds here!"
S092: "A crystal bridge now spans the fissure."
S093: "It spans the fissure, thereby providing you a way across."
S094: "The fissure looks far too wide to jump."
S095: "You are at the west end of the hall of mists. A low wide crawl continues
west and another goes north. To the south is a little passage 6 feet off the
floor."
S096: "You are at the east end of a very long hall apparently without side
chambers. To the east a low wide crawl slants up. To the north a round two foot
hole slants down."
S097: "You are at the west end of a very long featureless hall. The hall joins
up with a narrow north/south passage."
S098: "You are at a crossover of a high N/S passage and a low E/W one."
S099: "You know as much as I do at this point."
S100: "Dead End"
S101: "You have reached a dead end."
S102: "You'll have to go back the way you came."
S103: "You are in the hall of the mountain king, with passages off in all
directions."
S104: "Well, perhaps not quite all directions."
S105: "I wouldn't mess with it if I were you."
S106: "A huge green fierce snake bars the way!"
S107: "You are in a low N/S passage at a hole in the floor. The hole goes down
to an E/W passage."
S108: "They're probably worth a fortune!"
S109: "There are bars of silver here!"
S110: "some"
S111: "You are in the south side chamber."
S112: "It's all quite exquisite!"
S113: "There is precious jewelry here!"
S114: "some"
S115: "You are in the west side chamber of the hall of the mountain king. A
passage continues west and up here."
S116: "They're a numismatist's dream!"
S117: "There are many coins here!"
S118: "many"
S119: "You are in a large room, with a passage to the south, a passage to the
west, and a wall of broken rock to the east. There is a large "Y2" on a rock in
the room's center."
S120: "There is a large "Y2" painted on the rock."
S121: "You are in a jumble of rock, with cracks everywhere."
S122: "You're at a low window overlooking a huge pit, which extends up out of
sight. A floor is indistinctly visible over 50 feet below. Traces of white mist
cover the floor of the pit, becoming thicker to the right. Marks in the dust
around the window would seem to indicate that someone has been here recently.
Directly across the pit from you and 25 feet away there is a similar window
looking into a lighted room. A shadowy figure can be seen there peering back at
you."
S123: "The only passage is back east to Y2."
S124: "It looks like a regular window."
S125: "It's so deep you can barely make out the floor below, and the top isn't
visible at all."
S126: "Evidently you're not alone here."
S127: "The shadowy figure seems to be trying to attract your attention."
S128: "You are in a dirty broken passage. To the east is a crawl. To the west
is a large passage. Above you is a hole to another passage."
S129: "You are on the brink of a small clean climbable pit. A crawl leads
west."
S130: "It looks like you might be able to climb down into it."
S131: "You are in the bottom of a small pit with a little stream, which enters
and exits through tiny slits."
S132: "You don't fit through the tiny slits!"
S133: "The slits form a complex pattern in the rock."
S134: "You are in a large room full of dusty rocks. There is a big hole in the
floor. There are cracks everywhere, and a passage leading east."
S135: "They're just rocks. (Dusty ones, that is.)"
S136: "Maze"
S137: "You are in a maze of twisty little passages, all alike."
S138: "Easier said than done."
S139: "You are on the brink of a thirty foot pit with a massive orange column
down one wall. You could climb down here but you could not get back up. The
maze continues at this level."
S140: "It looks like you could climb down it."
S141: "You'll have to climb down to find out anything more..."
S142: "You are at a complex junction. A low hands and knees passage from the
north joins a higher crawl from the east to make a walking passage going west.
There is also a large room above. The air is damp here."
S143: "You are in bedquilt, a long east/west passage with holes everywhere. To
explore at random select north, south, up, or down."
S144: "You are in a room whose walls resemble swiss cheese. Obvious passages go
west, east, ne, and nw. Part of the room is occupied by a large bedrock block."
S145: "It's just a huge block."
S146: "You are at the west end of the twopit room. There is a large hole in the
wall above the pit at this end of the room."
S147: "It is too far up for you to reach."
S148: "The hole is in the wall above the pit at this end of the room."
S149: "You are at the bottom of the western pit in the twopit room. There is a
large hole in the wall about 25 feet above you."
S150: "You are at the east end of the twopit room. The floor here is littered
with thin rock slabs, which make it easy to descend the pits. There is a path
here bypassing the pits to connect passages from east and west. There are holes
all over, but the only big one is on the wall directly over the west pit where
you can't get to it."
S151: "They almost form natural stairs down into the pit."
S152: "You are at the bottom of the eastern pit in the twopit room. There is a
small pool of oil in one corner of the pit."
S153: "It looks like ordinary oil."
S154: "The hole is in the wall above you."
S155: "You are in a large low circular chamber whose floor is an immense slab
fallen from the ceiling (slab room). East and west there once were large
passages, but they are now filled with boulders. Low small passages go north
and south, and the south one quickly bends west around the boulders."
S156: "It is now the floor here."
S157: "They're just ordinary boulders."
S158: "You are in a secret N/S canyon above a large room."
S159: "You are in a secret N/S canyon above a sizable passage."
S160: "You are in a secret canyon at a junction of three canyons, bearing
north, south, and se. The north one is as tall as the other two combined."
S161: "You are in a large low room. Crawls lead north, se, and sw."
S162: "This is a dead end crawl."
S163: "You are in a secret canyon which here runs E/W. It crosses over a very
tight canyon 15 feet below. If you go down you may not be able to get back up."
S164: "You are at a wide place in a very tight N/S canyon."
S165: "The canyon here becomes too tight to go further south."
S166: "You are in a tall E/W canyon. A low tight crawl goes 3 feet north and
seems to open up."
S167: "A large stalactite extends from the roof and almost reaches the floor
below. You could climb down it, and jump from it to the floor, but having done
so you would be unable to reach it to climb back up."
S168: "You could probably climb down it, but you can forget coming back up."
S169: "You are in a secret canyon which exits to the north and east."
S170: "I wouldn't mess with it if I were you."
S171: "A huge green fierce dragon bars the way!"
S172: "The body of a huge green dead dragon is lying off to one side."
S173: "The canyon runs into a mass of boulders -- dead end."
S174: "This is the pirate's dead end."
S175: "It's the pirate's treasure chest, filled with riches of all kinds!"
S176: "The pirate's treasure chest is here!"
S177: "You are in a long, narrow corridor stretching out of sight to the west.
At the eastern end is a hole through which you can see a profusion of leaves."
S178: "The leaves appear to be attached to the beanstalk you climbed to get
here."
S179: "some"
S180: "You are at the top of a steep incline above a large room. You could
climb down here, but you would not be able to climb up. There is a passage
leading back to the north."
S181: "You are in the giant room. The ceiling here is too high up for your lamp
to show it. Cavernous passages lead east, north, and south. On the west wall is
scrawled the inscription, "Fee fie foe foo" [sic]."
S182: "It says, "Fee fie foe foo [sic].""
S183: "The nest is filled with beautiful golden eggs!"
S184: "There is a large nest here, full of golden eggs!"
S185: "The passage here is blocked by a recent cave-in."
S186: "You are at one end of an immense north/south passage."
S187: "It's just a big iron door."
S188: "The way north is barred by a massive, rusty, iron door."
S189: "The way north leads through a massive, rusty, iron door."
S190: "You are in a magnificent cavern with a rushing stream, which cascades
over a sparkling waterfall into a roaring whirlpool which disappears through a
hole in the floor. Passages exit to the south and west."
S191: "Wouldn't want to go down in in a barrel!"
S192: "The trident is covered with fabulous jewels!"
S193: "There is a jewel-encrusted trident here!"
S194: "You are in the soft room. The walls are covered with heavy curtains, the
floor with a thick pile carpet. Moss covers the ceiling."
S195: "The carpet is quite plush."
S196: "They seem to absorb sound very well."
S197: "It just looks like your typical, everyday moss."
S198: "It's just a small velvet pillow."
S199: "A small velvet pillow lies on the floor."
S200: "This is the oriental room. Ancient oriental cave drawings cover the
walls. A gently sloping passage leads upward to the north, another passage
leads se, and a hands and knees crawl leads west."
S201: "They seem to depict people and animals."
S202: "It's a delicate, precious, ming vase!"
S203: "The floor is littered with worthless shards of pottery."
S204: "They look to be the remains of what was once a beautiful vase. I guess
some oaf must have dropped it."
S205: "You are following a wide path around the outer edge of a large cavern.
Far below, through a heavy white mist, strange splashing noises can be heard.
The mist rises up through a fissure in the ceiling. The path exits to the south
and west."
S206: "You can't really get close enough to examine it."
S207: "You are in an alcove. A small northwest path seems to widen after a
short distance. An extremely tight tunnel leads east. It looks like a very
tight squeeze. An eerie light can be seen at the other end."
S208: "You're in a small chamber lit by an eerie green light. An extremely
narrow tunnel exits to the west. A dark corridor leads northeast."
S209: "an"
S210: "Plover's eggs, by the way, are quite large."
S211: "There is an emerald here the size of a plover's egg!"
S212: "You're in the dark-room. A corridor leading south is the only exit."
S213: "A massive stone tablet imbedded in the wall reads: "Congratulations on
bringing light into the dark-room!""
S214: "There is a platinum pyramid here, 8 inches on a side!"
S215: "The platinum pyramid is 8 inches on a side!"
S216: "You are in an arched hall. A coral passage once continued up and east
from here, but is now blocked by debris. The air smells of sea water."
S217: "You're in a large room carved out of sedimentary rock. The floor and
walls are littered with bits of shells imbedded in the stone. A shallow passage
proceeds downward, and a somewhat steeper one leads up. A low hands and knees
passage enters from the south."
S218: "It's incredibly large!"
S219: "Off to one side lies a glistening pearl!"
S220: "You are in a long sloping corridor with ragged sharp walls."
S221: "You are in a cul-de-sac about eight feet across."
S222: "You are in an anteroom leading to a large passage to the east. Small
passages go west and up. The remnants of recent digging are evident."
S223: "A sign in midair here says "Cave under construction beyond this point.
Proceed at own risk. [Witt Construction Company]""
S224: "There are a few recent issues of "Spelunker Today" magazine here."
S225: "I'm afraid the magazines are written in Dwarvish."
S226: "a few"
S227: "You are at Witt's End. Passages lead off in *all* directions."
S228: "You have crawled around in some little holes and found your way blocked
by a recent cave-in. You are now back in the main passage."
S229: "You are in a north/south canyon about 25 feet across. The floor is
covered by white mist seeping in from the north. The walls extend upward for
well over 100 feet. Suspended from some unseen point far above you, an enormous
two-sided mirror is hanging parallel to and midway between the canyon walls.
A small window can be seen in either wall, some fifty feet up."
S230: "The mirror is obviously provided for the use of the dwarves who, as you
know, are extremely vain."
S231: "The mirror is obviously provided for the use of the dwarves, who as you
know, are extremely vain."
S232: "You're at a low window overlooking a huge pit, which extends up out of
sight. A floor is indistinctly visible over 50 feet below. Traces of white mist
cover the floor of the pit, becoming thicker to the left. Marks in the dust
around the window would seem to indicate that someone has been here recently.
Directly across the pit from you and 25 feet away there is a similar window
looking into a lighted room. A shadowy figure can be seen there peering back at
you."
S233: "The only passage is back west to the junction."
S234: "You are at the edge of a large underground reservoir. An opaque cloud of
white mist fills the room and rises rapidly upward. The lake is fed by a
stream, which tumbles out of a hole in the wall about 10 feet overhead and
splashes noisily into the water somewhere within the mist. The only passage
goes back toward the south."
S235: "You are in a long winding corridor sloping out of sight in both
directions."
S236: "The corridor slopes steeply up and down."
S237: "You are on one side of a large, deep chasm. A heavy white mist rising up
from below obscures all view of the far side. A southwest path leads away from
the chasm into a winding corridor."
S238: "The path winds southwest."
S239: "It just looks like an ordinary, but unstable, bridge."
S240: "Trolls are close relatives with rocks and have skin as tough as that of
a rhinoceros."
S241: "A burly troll stands by the bridge and insists you throw him a treasure
before you may cross."
S242: "The wreckage of the troll bridge (and a dead bear) can be seen at the
bottom of the chasm."
S243: "You are on the far side of the chasm. A northeast path leads away from
the chasm on this side."
S244: "You're in a long east/west corridor. A faint rumbling noise can be heard
in the distance."
S245: "The path forks here. The left fork leads northeast. A dull rumbling
seems to get louder in that direction. The right fork leads southeast down a
gentle slope. The main corridor enters from the west."
S246: "The walls are quite warm here. From the north can be heard a steady
roar, so loud that the entire cave seems to be trembling. Another passage leads
south, and a low crawl goes east."
S247: "You are on the edge of a breath-taking view. Far below you is an active
volcano, from which great gouts of molten lava come surging out, cascading back
down into the depths. The glowing rock fills the farthest reaches of the cavern
with a blood-red glare, giving everything an eerie, macabre appearance. The air
is filled with flickering sparks of ash and a heavy smell of brimstone. The
walls are hot to the touch, and the thundering of the volcano drowns out all
other sounds. Embedded in the jagged roof far overhead are myriad twisted
formations composed of pure white alabaster, which scatter the murky light into
sinister apparitions upon the walls. To one side is a deep gorge, filled with a
bizarre chaos of tortured rock which seems to have been crafted by the devil
himself. An immense river of fire crashes out from the depths of the volcano,
burns its way through the gorge, and plummets into a bottomless pit far off to
your left. To the right, an immense geyser of blistering steam erupts
continuously from a barren island in the center of a sulfurous lake, which
bubbles ominously. The far right wall is aflame with an incandescence of its
own, which lends an additional infernal splendor to the already hellish scene.
A dark, forboding passage exits to the south."
S248: "Don't be ridiculous!"
S249: "Great gouts of molten lava come surging out of the volcano and go
cascading back down into the depths. The glowing rock fills the farthest
reaches of the cavern with a blood-red glare, giving everything an eerie,
macabre appearance."
S250: "The sparks too far away for you to get a good look at them."
S251: "Embedded in the jagged roof far overhead are myriad twisted formations
composed of pure white alabaster, which scatter the murky light into sinister
apparitions upon the walls."
S252: "The gorge is filled with a bizarre chaos of tortured rock which seems to
have been crafted by the devil himself."
S253: "The river of fire crashes out from the depths of the volcano, burns its
way through the gorge, and plummets into a bottomless pit far off to your
left."
S254: "The geyser of blistering steam erupts continuously from a barren island
in the center of a sulfurous lake, which bubbles ominously."
S255: "You are in a small chamber filled with large boulders. The walls are
very warm, causing the air in the room to be almost stifling from the heat. The
only exit is a crawl heading west, through which is coming a low rumbling."
S256: "They're just ordinary boulders. They're warm."
S257: "a selection of"
S258: "You are walking along a gently sloping north/south passage lined with
oddly shaped limestone formations."
S259: "Every now and then a particularly strange shape catches your eye."
S260: "You are standing at the entrance to a large, barren room. A sign posted
above the entrance reads: "Caution! Bear in room!""
S261: "The sign reads, "Caution! Bear in room!""
S262: "You are inside a barren room. The center of the room is completely empty
except for some dust. Marks in the dust lead away toward the far end of the
room. The only exit is the way you came in."
S263: "It just looks like ordinary dust."
S264: "The chain has thick links of solid gold!"
S265: "Maze"
S266: "You are in a maze of twisty little passages, all different."
S267: "You are in a little maze of twisting passages, all different."
S268: "You are in a maze of twisting little passages, all different."
S269: "You are in a little maze of twisty passages, all different."
S270: "You are in a twisting maze of little passages, all different."
S271: "You are in a twisting little maze of passages, all different."
S272: "You are in a twisty little maze of passages, all different."
S273: "You are in a twisty maze of little passages, all different."
S274: "You are in a little twisty maze of passages, all different."
S275: "You are in a maze of little twisting passages, all different."
S276: "You are in a maze of little twisty passages, all different."
S277: "Dead End, near Vending Machine"
S278: "You have reached a dead end. There is a massive vending machine here."
S279: "The message reads, "This is not the maze where the pirate leaves his
treasure chest.""
S280: "Hmmm... There is a message here scrawled in the dust in a flowery
script."
S281: "The instructions on the vending machine read, "Insert coins to receive
fresh batteries.""
S282: "They look like ordinary batteries. (A sepulchral voice says, "Still
going!")"
S283: "There are fresh batteries here."
S284: "They look like ordinary batteries."
S285: "Some worn-out batteries have been discarded nearby."
S286: "It's probably not a good idea to get too close. Suffice it to say the
little guy's pretty aggressive."
S287: "A threatening little dwarf hides in the shadows."
S288: "There is a little axe here."
S289: "It's just a little axe."
S290: "You are at the northeast end of an immense room, even larger than the
giant room. It appears to be a repository for the "Adventure" program. Massive
torches far overhead bathe the room with smoky yellow light. Scattered about
you can be seen a pile of bottles (all of them empty), a nursery of young
beanstalks murmuring quietly, a bed of oysters, a bundle of black rods with
rusty stars on their ends, and a collection of brass lanterns. Off to one side
a great many dwarves are sleeping on the floor, snoring loudly. A sign nearby
reads: "Do not disturb the dwarves!""
S291: "It looks like an ordinary, albeit enormous, mirror."
S292: "An immense mirror is hanging against one wall, and stretches to the
other end of the room, where various other sundry objects can be glimpsed dimly
in the distance."
S293: "You've seen everything in here already, albeit in somewhat different
contexts."
S294: "I wouldn't bother the dwarves if I were you."
S295: "hundreds of angry"
S296: "You are at the southwest end of the repository. To one side is a pit
full of fierce green snakes. On the other side is a row of small wicker cages,
each of which contains a little sulking bird. In one corner is a bundle of
black rods with rusty marks on their ends. A large number of velvet pillows are
scattered about on the floor. A vast mirror stretches off to the northeast. At
your feet is a large steel grate, next to which is a sign which reads,
"TREASURE VAULT. Keys in main office.""
S297: "It just looks like an ordinary steel grate."
S298: "The grate is open."
S299: "The grate is closed."
S300: "You've seen everything in here already, albeit in somewhat different
contexts."
S301: "It's a three foot black rod with a rusty mark on an end."
S302: "A three foot black rod with a rusty mark on one end lies nearby."
S303: "About Adventure"
S304: "Instructions"
S305: "History"
S306: "Authenticity"
S307: "Did you know..."
S308: "There is information provided on the following:
Instructions for playing
A historical preface
How authentic is this edition?
"
S309: "There is information provided on the following:
Instructions for playing
A historical preface
How authentic is this edition?
Did you know...
"
S310: "write to"
S311: "read"
S312: "recreate"
S313: "destroy"
S314: "copy"
S315: "copy"
S316: "send message"
S317: "increment"
S318: "decrement"
S319: "apply 'ofclass' for"
S320: ""name""
S321: ""create""
S322: ""recreate""
S323: ""destroy""
S324: ""remaining""
S325: ""copy""
S326: ""call""
S327: ""print""
S328: ""print_to_array""
S329: ""before""
S330: ""after""
S331: ""life""
S332: ""n_to/door_to""
S333: ""s_to/when_closed/when_off""
S334: ""e_to/with_key""
S335: ""w_to/door_dir""
S336: ""ne_to/react_before""
S337: ""se_to/add_to_scope""
S338: ""nw_to/react_after""
S339: ""sw_to/list_together""
S340: ""u_to/invent""
S341: ""d_to/plural""
S342: ""in_to/grammar""
S343: ""out_to/orders""
S344: ""initial/when_open/when_on""
S345: ""description""
S346: ""describe""
S347: ""article""
S348: ""cant_go""
S349: ""found_in""
S350: ""time_left""
S351: ""number""
S352: ""time_out/daemon""
S353: ""each_turn""
S354: ""capacity""
S355: ""short_name""
S356: ""parse_name""
S357: ""depositpoints""
S358: ""power_remaining""
S359: ""replace_batteries""
S360: ""height""
S361: ""following_you""
S362: ""angry""
S363: ""has_stolen_something""
S364: ""has_been_spotted""
S365: ""wake_up""
[End of text]
[End of file]